Update dependency org.rocksdb:rocksdbjni to v10#136
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
Update dependency org.rocksdb:rocksdbjni to v10#136renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
8129a5e to
49145c5
Compare
49145c5 to
e39123b
Compare
e39123b to
2c9ef91
Compare
7dc5b5c to
c0aecfa
Compare
c0aecfa to
1ef2a2c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR contains the following updates:
6.29.5→10.8.3Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
facebook/rocksdb (org.rocksdb:rocksdbjni)
v10.8.310.8.3 (11/10/2025)
New Features
10.8.2 (11/07/2025)
New Features
max_manifest_file_sizeis repeatedly exceeded. The new recommendation is to setmax_manifest_file_sizeto something small like 1MB and tunemax_manifest_space_amp_pctas needed to balance write amp and space amp in the manifest. Refer to comments on those options inDBOptionsfor details. Both options are (now) mutable.10.8.1 (10/29/2025)
Behavior Changes
10.8.0 (10/21/2025)
New Features
OpenAndCompactOptions::allow_resumptionfor resumable compaction that persists progress duringOpenAndCompact(), allowing interrupted compactions to resume from the last progress persitence. The default behavior is to not persist progress.Public API Changes
DB::FlushWAL(const FlushWALOptions&)as an alternative toDB::FlushWAL(bool sync), whereFlushWALOptionsincludes a newrate_limiter_priorityfield (defaultEnv::IO_TOTAL) that allows rate limiting and priority passing of manual WAL flush's IO operations.Behavior Changes
kChangeTemperatureFIFO compaction will now honorcompaction_target_tempto all levels regardless ofcf_options::last_level_temperatureBug Fixes
Performance Improvements
v10.7.510.7.5 (2025-10-20)
Bug Fixes
10.7.4 (2025-10-14)
Public API Changes
10.7.3 (2025-10-06)
Bug Fixes
10.7.2 (2025-09-30)
Bug Fixes
Performance Improvements
10.7.0 (2025-09-24)
New Features
MultiScanArgs::max_prefetch_sizethat limits the memory usage of per file pinning of prefetched blocks.sst_dumpby allowing standalone file and directory arguments without--file=. Also added new options and better output forsst_dump --command=recompress. Seesst_dump --helpPublic API Changes
estimated_entry_chargeis now production-ready and is the preferred block cache implementation vs. LRUCache. Please consider updating your code to minimize the risk of hitting performance bottlenecks or anomalies from LRUCache. See cache.h for more detail.Behavior Changes
block_cacheis nullptr (default) andno_block_cache==false(default). We recommend explicitly creating a HyperClockCache block cache based on memory budget and sharing it across all column families and even DB instances. This change could expose previously hidden memory or resource leaks.Bug Fixes
Performance Improvements
avoiding scanning the whole file to find the smallest sequence number.
Together, a new configuration TransactionOptions::deadlock_timeout_us is added, which allows the transaction to wait for a short period before perform deadlock detection. When the workload has low lock contention, the deadlock_timeout_us can be configured to be slightly higher than average transaction execution time, so that transaction would likely be able to take the lock before deadlock detection is performed when it is waiting for a lock. This allows transaction to reduce CPU cost on performing deadlock detection, which could be expensive in CPU time. When the workload has high lock contention, the deadlock_timeout_us can be configured to 0, so that transaction would perform deadlock detection immediately. By default the value is 0 to keep the behavior same as before.
CompressionOptions::parallel_threads> 1), though this efficiency improvement makes parallel compression currently incompatible with UserDefinedIndex and with old setting ofdecouple_partitioned_filters=false. Parallel compression is now considered a production-ready feature. Maximum performance is available with-DROCKSDB_USE_STD_SEMAPHORESat compile time, but this is not currently recommended because of reported bugs in implementations ofstd::counting_semaphore/binary_semaphore.v10.6.2Compare Source
10.6.2 (2025-09-15)
Bug Fixes
10.6.1 (2025-09-05)
New Features
MultiScanArgs::max_prefetch_sizethat limits the memory usage of per file pinning of prefetched blocks.10.6.0 (2025-08-22)
New Features
cf_allow_ingest_behind. This option aims to replaceDBOptions::allow_ingest_behindto enable ingest behind at the per-CF level.DBOptions::allow_ingest_behindis deprecated.MultiScanArgs::io_coalesce_thresholdto allow a configurable IO coalescing threshold.Public API Changes
IngestExternalFileOptions::allow_db_generated_filesnow allows files ingestion of any DB generated SST file, instead of only the ones with all keys having sequence number 0.decouple_partitioned_filters = trueis now the default in BlockBasedTableOptions.Behavior Changes
allow_ingest_behindis enabled, compaction will no longer drop tombstones based on the absence of underlying data. Tombstones will be preserved to apply to ingested files.Bug Fixes
GetFileChecksumsFromCurrentManifest.Performance Improvements
v10.5.110.5.1 (2025-08-04)
Bug Fixes
10.5.0 (2025-07-21)
Public API Changes
Behavior Changes
Bug Fixes
Performance Improvements
v10.4.210.4.2 (07/09/2025-07-09)
Bug Fixes
10.4.1 (2025-07-01)
Behavior Changes
Bug Fixes
10.4.0 (2025-06-20)
New Features
memtable_avg_op_scan_flush_triggerthat supports triggering memtable flush when an iterator scans through an expensive range of keys, with the average number of skipped keys from the active memtable exceeding the threshold.TransactionOptions::large_txn_commit_optimize_byte_thresholdto enable optimizations for large transaction commit by transaction batch data size.CompactionOptionsUniversal::reduce_file_lockingand if it's true, auto universal compaction picking will adjust to minimize locking of input files when bottom priority compactions are waiting to run. This can increase the likelihood of existing L0s being selected for compaction, thereby improving write stall and reducing read regression.format_version=7to aid experimental support of custom compression algorithms with CompressionManager and block-based table. This format version includes changing the format ofTableProperties::compression_name.Public API Changes
CompactOnDeletionCollectorFactory.Behavior Changes
TransactionOptions::large_txn_commit_optimize_thresholdnow has default value 0 for disabled.TransactionDBOptions::txn_commit_bypass_memtable_thresholdnow has no effect on transactions.Bug Fixes
v10.2.110.2.1 (2025-04-24)
Bug Fixes
10.2.0 (2025-04-21)
New Features
COMPACTION_PREFETCH_BYTESto measure number of bytes for RocksDB's prefetching (as opposed to filesystem's prefetch) on SST file during compaction read
IngestWriteBatchWithIndex()for ingesting updates into DB while bypassing memtable writes. This improves performance when writing a large write batch to the DB.memtable_op_scan_flush_triggerthat triggers a flush of the memtable if an iterator's Seek()/Next() scans over a certain number of invisible entries from the memtable.Public API Changes
DB::MaxMemCompactionLevel().ReadOptions::ignore_range_deletions.experimental::PromoteL0().Behavior Changes
PREFETCH_BYTES_USEFUL,PREFETCH_HITS,PREFETCH_BYTESonly account for prefetching during user initiated scanBug Fixes
FileSystem::ReopenWritableFileinternally does not track the correct file size.v10.1.310.1.3 (2025-04-09)
Bug Fixes
10.1.2 (2025-04-07)
Bug Fixes
10.1.0 (2025-03-24)
New Features
DBOptions.calculate_sst_write_lifetime_hint_setsetting that allows to customize which compaction styles SST write lifetime hint calculation is allowed on. Today RocksDB supports only two modeskCompactionStyleLevelandkCompactionStyleUniversal.num_l0_filesinCompactionJobInfoabout the number of L0 files in the CF right before and after the compactionPublic API Changes
GetAllKeyVersions()now interprets empty slices literally, as valid keys, and uses newOptSlicetype default value for extreme upper and lower range limits.DeleteFilesInRanges()now takesRangeOptwhich is based onOptSlice. The overload takingRangePtris deprecated.CompressedSecondaryCacheOptions::compress_format_version == 1is also deprecated.Behavior Changes
ldbnow returns an error if the specified--compression_typeis not supported in the build.Bug Fixes
v10.0.1: RocksDB 10.0.1 Release10.0.1 (2025-03-05)
Public API Changes
10.0.0 (2025-02-21)
New Features
auto_refresh_iterator_with_snapshotopt-in knob that (when enabled) will periodically release obsolete memory and storage resources for as long as the iterator is making progress and its suppliedread_options.snapshotwas initialized with non-nullptr value.FaissIVFIndexandSecondaryIndexfor more details. Note: the FAISS integration currently requires using the BUCK build.num_running_compaction_sorted_runsthat tracks the number of sorted runs being processed by currently running compactionsSimpleSecondaryIndexandSecondaryIndexfor more details.TransactionDBOptions::txn_commit_bypass_memtable_threshold, which enables optimized transaction commit (seeTransactionOptions::commit_bypass_memtable) when the transaction size exceeds a configured threshold.Public API Changes
SecondaryIndex::NewIteratorvirtual and adding aSecondaryIndexIteratorclass that can be utilized by applications to find the primary keys for a given search target.SecondaryIndex::GetSecondary{KeyPrefix,Value}as well as the addition of a new methodSecondaryIndex::FinalizeSecondaryKeyPrefix. See the API comments for more details.CompressionTypekZSTDNotFinalCompressionis also removed.Behavior Changes
VerifyBackupinverify_with_checksum=truemode will now evaluate checksums in parallel. As a result, unlike in case of original implementation, the API won't bail out on a very first corruption / mismatch and instead will iterate over all the backup files logging success / degree_of_failure for each.overwrite_key=true, this affects the output only if Merge is used (#13387).TransactionOptions::commit_bypass_memtable.Bug Fixes
GetMergeOperands()that can return incorrect status (MergeInProgress) and incorrect number of merge operands. This can happen whenGetMergeOperandsOptions::continue_cbis set, both active and immutable memtables have merge operands and the callback stops the look up at the immutable memtable.v9.11.2: RocksDB 9.11.2 ReleaseRocksdb Change Log
9.11.2 (2025-03-29)
Bump patch version to fix a mistake in the previous 9.11 release tag
9.11.1 (2025-02-19)
New Features
9.11.0 (2025-01-17)
New Features
SecondaryIndexinterface. See theSecondaryIndexAPI comments for more details. Note: this feature is currently only available in conjunction with write-committed pessimistic transactions, andMergeis not yet supported.track_and_verify_walsto track and verify various information about WAL during WAL recovery. This is intended to be a better replacement totrack_and_verify_wals_in_manifest.Public API Changes
io_buffer_sizeto BackupEngineOptions to enable optimal configuration of IO sizerandom_access_max_buffer_size, related rules and all the clients wrappers. This option has been officially deprecated in 5.4.0.file_ingestion_nanosandfile_ingestion_blocking_live_writes_nanosin PerfContext to observe file ingestionsstd::unique_ptr<DB>*output parameters and deprecate the old versions that useDB**output parameters.Behavior Changes
max_compaction_bytes. This prevents overly large compactions in some cases (#13306).preclude_last_level_data_secondsandpreserve_internal_time_secondsare now mutable withSetOptions(). Some changes to handling of these features along with long-lived snapshots and range deletes made this possible.Bug Fixes
v9.10.0New Features
TransactionOptions::commit_bypass_memtableto enable transaction commit to bypass memtable insertions. This can be beneficial for transactions with many operations, as it reduces commit time that is mostly spent on memtable insertion.Public API Changes
Behavior Changes
valueparameter can be null, and it will be set only ifvalue_foundis passed in.Bug Fixes
Performance Improvements
v9.9.3: RocksDB release 9.9.39.9.3 (2024-12-03)
Performance Improvements
9.9.2 (2024-11-22)
Bug Fixes
9.9.1 (2024-11-30)
Behavior Changes
9.9.0 (2024-11-18)
New Features
Public API Changes
Transaction::GetAttributeGroupIteratorthat can be used to create a multi-column-family attribute group iterator over the specified column families, including the data from both the transaction and the underlying database. This API is currently supported for optimistic and write-committed pessimistic transactions.Transaction::GetCoalescingIteratorthat can be used to create a multi-column-family coalescing iterator over the specified column families, including the data from both the transaction and the underlying database. This API is currently supported for optimistic and write-committed pessimistic transactions.Behavior Changes
BaseDeltaIteratornow honors the read optionallow_unprepared_value.Bug Fixes
BaseDeltaIteratornow callsPrepareValueon the base iterator in case it has been created with theallow_unprepared_valueread option set. Earlier, such base iterators could lead to incorrect values being exposed fromBaseDeltaIterator.DB::Close()) that are written but never become live due to various failures. (We now have a check for such leaks with no outstanding issues.)Performance Improvements
Options::compaction_readahead_sizegreater thanmax_sectors_kb(i.e, largest I/O size that the OS issues to a block device defined in linux)v9.8.4: RocksDB 9.8.49.8.4 (2024-11-18)
Behavior Changes
9.8.3 (2024-11-12)
Bug Fixes
9.8.2 (2024-11-06)
Public API Changes
Transaction::GetAttributeGroupIteratorthat can be used to create a multi-column-family attribute group iterator over the specified column families, including the data from both the transaction and the underlying database. This API is currently supported for optimistic and write-committed pessimistic transactions.Behavior Changes
BaseDeltaIteratornow honors the read optionallow_unprepared_value.Bug Fixes
BaseDeltaIteratornow callsPrepareValueon the base iterator in case it has been created with theallow_unprepared_valueread option set. Earlier, such base iterators could lead to incorrect values being exposed fromBaseDeltaIterator.9.8.1 (2024-10-31)
Bug Fixes
9.4.0.
9.8.0 (2024-10-25)
New Features
block_cacheoptions inBlockBasedTableOptionsare now mutable withDB::SetOptions().See also Bug Fixes below.
.e. only if they are actually needed by the application. This can save I/O in use cases where the va
lues associated with certain keys are not needed. For more details, see the new read option
allow_u nprepared_valueand the iterator APIPrepareValue.IngestExternalFileOptions::fill_cacheto support not adding blocks from ingested files into block cache during file ingestion.
allow_unprepared_valueis now also supported for multi-column-family iterators (i.e.CoalescingIteratorandAttributeGroupIterator).ding, it will be marked for compaction. During compaction, this type of files can be used to directl
y filter out some input files that are not protected by any snapshots and completely deleted by the
standalone range deletion file.
Behavior Changes
ey can potentially be assigned to lower levels other than always land on L0.
primary host. A similar technique as how we are preserving new SST files from getting purged is used
for this. min_options_file_numbers_ is tracked like pending_outputs_ is tracked.
the seek key in
Seek()are not prefetched whenReadOptions::auto_readahead_size=true(default value) and
ReadOptions::prefix_same_as_start = truecompaction. The old behavior tends to assign files to L0 while the new behavior will assign the file
s to the lowest level possible.
Bug Fixes
block_based_table_factoryoptions. The fix has some subtle behavior changes because of copying and replacing the TableFactory on a change with S
etOptions, including requiring an Iterator::Refresh() for an existing Iterator to use the latest opt
ions.
pressed block size rather than the actual memory allocated, which could be larger due to internal fr
agmentation.
GetApproximateMemTableStats()could return disastrously bad estimates 5-25% of the time. The function has been re-engineered to return much better estimates with similar CPU cost.
is kVolatileTier.
llow parallel compactions. (#13054)
GetOptionsFromString(), possibly elsewhere as well. Affected options, now fixed:
background_close_inactive_wals,write_dbid_to_manifest,write_ identity_file,prefix_seek_opt_in_onlyv9.7.4: RocksDB 9.7.49.7.4 (2024-10-31)
Bug Fixes
9.7.3 (2024-10-16)
Behavior Changes
9.7.2 (2024-10-08)
Bug Fixes
Iterator::GetProperty("rocksdb.iterator.write-time")for non-L0 files.9.7.1 (2024-09-26)
Bug Fixes
GetOptionsFromString(), possibly elsewhere as well. Affected options, now fixed:background_close_inactive_wals,write_dbid_to_manifest,write_identity_file,prefix_seek_opt_in_only9.7.0 (2024-09-20)
New Features
prefix_seek_opt_in_onlythat 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_startorauto_prefix_modeare set. Also,prefix_same_as_startandauto_prefix_modenow allow prefix filtering even withtotal_order_seek=true.Behavior Changes
blob_garbage_collection_force_thresholdto definea threshold for the overall garbage ratio of all blob files currently eligible for garbage collection (accordin
g to
blob_garbage_collection_age_cutoff). This can provide better control over space amplification at the cost of slightly higher write amplification.
write_dbid_to_manifest=trueby default. This means DB ID will now be preserved through backups, checkpoints, etc. by default. Also add
write_identity_fileoption which can be set to false for anticipated future behavior.
file_temperature_age_thr esholds) will compact one file at a time, instead of merging multiple eligible file together (#13018).nd IngestExternalFileOptions::allow_db_generated_files.
IngestExternalFileOptions::link_filesto hard link input files and preserveoriginal files links after ingestion.
by them. Prior to this change they would be orphaned until the DB is re-opened.
Bug Fixes
appen when users configure CompactRangeOptions::change_level to true and the change level step of manual compac
tion fails (#13009).
prefix_extractorwith memtable prefix filter. Previously, prefix seek could mix different prefix interpretations between memtable and SST files. Now the latest
prefix_extractorat the time of iterator creation or refresh is respected.
t (#12995). The fix will set potential WAL write failure as fatal error when manual_wal_flush is true, and disa
bles auto error recovery from these errors.
v9.7.3: RocksDB 9.7.39.7.3 (2024-10-16)
Behavior Changes
9.7.2 (2024-08-10)
Bug Fixes
Iterator::GetProperty("rocksdb.iterator.write-time")for non-L0 files.9.7.1 (2024-09-26)
Bug Fixes
GetOptionsFromString(), possibly elsewhere as well. Affected options, now fixed:background_close_inactive_wals,write_dbid_to_manifest,write_identity_file,prefix_seek_opt_in_only9.7.0 (2024-09-20)
New Features
prefix_seek_opt_in_onlythat 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_startorauto_prefix_modeare set. Also,prefix_same_as_startandauto_prefix_modenow allow prefix filtering even withtotal_order_seek=true.Behavior Changes
blob_garbage_collection_force_thresholdto 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=trueby default. This means DB ID will now be preserved through backups, checkpoints, etc. by default. Also addwrite_identity_fileoption 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_filesto 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_extractorwith memtable prefix filter. Previously, prefix seek could mix different prefix interpretations between memtable and SST files. Now the latestprefix_extractorat the time of iterator creation or refresh is respected.v9.6.2: RocksDB 9.6.29.6.2 (10/31/2024)
Bug Fixes
9.6.1 (08/24/2024)
Bug Fixes
9.6.0 (08/19/2024)
New Features
BlockBasedTableOptions::decouple_partitioned_filtersshould 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_writemode.file. #12882
be registered simultaneously, resulting in a crash or other unpredictable behavior.
v9.6.1: RocksDB 9.6.19.6.1 (2024-08-24)
Bug Fixes
9.6.0 (2024-08-19)
New Features
BlockBasedTableOptions::decouple_partitioned_filtersshould 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_writemode.v9.5.2: RocksDB 9.5.29.5.2 (2024-08-13)
Bug Fixes
Public API Changes
9.5.1 (2024-08-02)
Bug Fixes
SstFileManager. The slow deletion is subject to the configuredrate_bytes_per_sec, but not subject to themax_trash_db_ratio.9.5.0 (2024-07-19)
Public API Changes
IngestExternalFileOptions::allow_db_generated_files.Behavior Changes
log_size_for_flushargument inCreateCheckpointAPI, the size of the archived log will not be included to avoid unnecessary flushBug Fixes
whole_key_filtering=falseandpartition_filters=true.OnErrorRecoveryBegin()is not called before auto recovery starts.bg_error_member without holding db mutex(#12803).Performance Improvements
v9.4.0New Features
CompactForTieringCollectorFactoryto auto trigger compaction for tiering use case.GetEntityForUpdateAPI.rocksdb_writebatch_update_timestamps,rocksdb_writebatch_wi_update_timestampsin C API.rocksdb_iter_refreshin C API.rocksdb_writebatch_create_with_params,rocksdb_writebatch_wi_create_with_paramsto create WB and WBWI with all options in C APIPublic API Changes
LogFileandVectorLogPtrin favor of new namesWalFileandVectorWalPtr.level0_file_num_compaction_trigger) #12477.Behavior Changes
background_close_inactive_wals.Bug Fixes
ldb dump_walcommand forPutEntityrecords so it prints the key and correctly resets the hexadecimal formatting flag after printing the wide-column entity.PutEntityrecords were handled incorrectly while rebuilding transactions during recovery.Performance Improvements
v9.3.1: RocksDB 9.3.19.3.1 (2024-05-25)
Bug Fixes
9.3.0 (2024-05-17)
New Features
GetEntityAPI.Iteratorproperty, "rocksdb.iterator.is-value-pinned", for checking whether theSlicereturned byIterator::value()can be used until theIteratoris destroyed.MultiGetEntityAPI.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.