Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updates RocksDb from V9.2.2 to 9.7.2
I have tested this locally with no issues
Changelog:
9.7.0 (09/20/2024)
New Features
prefix_seek_opt_in_only
that makes iterators generally safer when you might set aprefix_extractor
. Whenprefix_seek_opt_in_only=true
, which is expected to be the future default, prefix seek is only used whenprefix_same_as_start
orauto_prefix_mode
are set. Also,prefix_same_as_start
andauto_prefix_mode
now allow prefix filtering even withtotal_order_seek=true
.Behavior Changes
blob_garbage_collection_force_threshold
to define a threshold for the overall garbage ratio of all blob files currently eligible for garbage collection (according toblob_garbage_collection_age_cutoff
). This can provide better control over space amplification at the cost of slightly higher write amplification.write_dbid_to_manifest=true
by default. This means DB ID will now be preserved through backups, checkpoints, etc. by default. Also addwrite_identity_file
option which can be set to false for anticipated future behavior.file_temperature_age_thresholds
) will compact one file at a time, instead of merging multiple eligible file together (#13018).IngestExternalFileOptions::link_files
to hard link input files and preserve original files links after ingestion.by them. Prior to this change they would be orphaned until the DB is re-opened.
Bug Fixes
prefix_extractor
with memtable prefix filter. Previously, prefix seek could mix different prefix interpretations between memtable and SST files. Now the latestprefix_extractor
at the time of iterator creation or refresh is respected.9.6.0 (08/19/2024)
New Features
BlockBasedTableOptions::decouple_partitioned_filters
should improve efficiency in serving read queries because filter and index partitions can consistently target the configuredmetadata_block_size
. This option is currently opt-in.paranoid_memory_checks
. It enables additional validation on data integrity during reads/scanning. Currently, skip list based memtable will validate key ordering during look up and scans.Public API Changes
Behavior Changes
Bug Fixes
SstFileManager
. The slow deletion is subject to the configuredrate_bytes_per_sec
, but not subject to themax_trash_db_ratio
.unordered_write
mode.9.5.0 (07/19/2024)
Public API Changes
IngestExternalFileOptions::allow_db_generated_files
.Behavior Changes
log_size_for_flush
argument inCreateCheckpoint
API, the size of the archived log will not be included to avoid unnecessary flushBug Fixes
whole_key_filtering=false
andpartition_filters=true
.OnErrorRecoveryBegin()
is not called before auto recovery starts.bg_error_
member without holding db mutex(#12803).Performance Improvements
9.4.0 (06/23/2024)
New Features
CompactForTieringCollectorFactory
to auto trigger compaction for tiering use case.GetEntityForUpdate
API.rocksdb_writebatch_update_timestamps
,rocksdb_writebatch_wi_update_timestamps
in C API.rocksdb_iter_refresh
in C API.rocksdb_writebatch_create_with_params
,rocksdb_writebatch_wi_create_with_params
to create WB and WBWI with all options in C APIPublic API Changes
LogFile
andVectorLogPtr
in favor of new namesWalFile
andVectorWalPtr
.level0_file_num_compaction_trigger
) #12477.Behavior Changes
background_close_inactive_wals
.Bug Fixes
ldb dump_wal
command forPutEntity
records so it prints the key and correctly resets the hexadecimal formatting flag after printing the wide-column entity.PutEntity
records were handled incorrectly while rebuilding transactions during recovery.Performance Improvements
9.3.0 (05/17/2024)
New Features
GetEntity
API.Iterator
property, "rocksdb.iterator.is-value-pinned", for checking whether theSlice
returned byIterator::value()
can be used until theIterator
is destroyed.MultiGetEntity
API.PutEntity
API. Support for read APIs and other write policies (WritePrepared, WriteUnprepared) will be added later.Public API Changes
Behavior Changes
Bug Fixes
DBOptions::allow_2pc == true
(allTransactionDB
s exceptOptimisticTransactionDB
) that have exactly one column family. Due to a missing WAL sync, attempting to open the DB could have returned aStatus::Corruption
with a message like "SST file is ahead of WALs".ColumnFamilyOptions::inplace_update_support == true
between user overwrites and reads on the same key.CompactFiles()
can compact files of range conflict with other ongoing compactions' whenpreclude_last_level_data_seconds > 0
is usedStatus::Corruption
reported when reopening a DB that usedDBOptions::recycle_log_file_num > 0
andDBOptions::wal_compression != kNoCompression
.