Skip to content

Bump org.rocksdb:rocksdbjni from 11.0.4 to 11.1.1 - #175

Merged
aaronriekenberg merged 1 commit into
mainfrom
dependabot/gradle/org.rocksdb-rocksdbjni-11.1.1
Oct 9, 2026
Merged

aaronriekenberg merged 1 commit into
mainfrom
dependabot/gradle/org.rocksdb-rocksdbjni-11.1.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 9, 2026

Copy link
Copy Markdown
Contributor

Bumps org.rocksdb:rocksdbjni from 11.0.4 to 11.1.1.

Release notes

Sourced from org.rocksdb:rocksdbjni's releases.

RocksDB 11.1.1

11.1.1 (2026-04-10)

Public API Changes

  • Changed experimental feature ExternalTableReader::Get and ExternalTableReader::MultiGet to use PinnableSlice instead of std::string for output values, enabling zero-copy pinning. This will break existing implementations.
  • Added SstFileReader::Get and SstFileReader::MultiGet overloads that accept PinnableSlice/std::vector<PinnableSlice>*, enabling zero-copy reads when the underlying TableReader supports pinning.
  • Added block_decompress_count to PerfContext

Bug Fixes

  • Fix a memory accounting leak in IODispatcher where ReadIndex() moved block values out of ReadSet without releasing the associated prefetch memory, causing subsequent prefetches to be blocked when max_prefetch_memory_bytes was set.

11.1.0 (2026-03-23)

New Features

  • Add a new option open_files_async. The existing behavior is on DB open, we open all sst files and do basic validations. For very large DBs on remote filesystems with many ssts, this may take very long. This option performs these validations instead in the background. Open errors found by this async background task are surfaced as a new background error kAsyncFileOpen.
  • Added BlockBasedTableOptions::kAuto index block search type that automatically selects between binary and interpolation search on a per-index-block basis. During SST construction, each index block's key distribution uniformity is analyzed using the coefficient of variation of key gaps, and index blocks with uniform keys use interpolation search while others fall back to binary search. The uniformity threshold is configurable via BlockBasedTableOptions::uniform_cv_threshold (default: 0.2).
  • Introduced enforce_write_buffer_manager_during_recovery option to allow WriteBufferManager to be enforced during WAL recovery. (Default: true)
  • Add memtable_batch_lookup_optimization option to use batch lookup optimization for memtable MultiGet. For skip list memtables, after each key lookup, the search path is cached and reused for the next key, reducing per-key cost from O(log N) to O(log d) where d is the distance between consecutive keys. Benchmarks show ~7% improvement in memtable-resident MultiGet throughput.
  • Added BlockBasedTableOptions::PrepopulateBlockCache::kFlushAndCompaction to prepopulate the block cache during both flush and compaction. Compaction-warmed blocks are inserted at BOTTOM priority (vs LOW for flush) so they are evicted first under cache pressure. Recommended only for use cases where most or all of the database is expected to reside in cache (e.g., tiered or remote storage where the working set fits in cache).
  • Added new mutable DB option verify_manifest_content_on_close (default: false). When enabled, on DB close the MANIFEST file is read back and all records are validated (CRC checksums and logical content). If corruption is detected, a fresh MANIFEST is written from in-memory state.

Behavior Changes

  • num_reads_sampled now factors in re-seeks and next/prev() on file iterators for files in L1+. next/prev() is discounted by 64x compared to seek due to being a much cheaper call.
  • Remote compaction workers now skip WAL recovery when opening the secondary DB instance, since only the LSM state from MANIFEST is needed for compaction. This reduces I/O and speeds up remote compaction startup.

Bug Fixes

  • Fix a bug in round-robin compaction that missed selecting input files that are needed to guarantee data correctness and cause crashing in debug builds or silent data corruption in release builds for Get().
Changelog

Sourced from org.rocksdb:rocksdbjni's changelog.

11.1.1 (04/10/2026)

Public API Changes

  • Changed experimental feature ExternalTableReader::Get and ExternalTableReader::MultiGet to use PinnableSlice instead of std::string for output values, enabling zero-copy pinning. This will break existing implementations.
  • Added SstFileReader::Get and SstFileReader::MultiGet overloads that accept PinnableSlice/std::vector<PinnableSlice>*, enabling zero-copy reads when the underlying TableReader supports pinning.
  • Added block_decompress_count to PerfContext

Bug Fixes

  • Fix a memory accounting leak in IODispatcher where ReadIndex() moved block values out of ReadSet without releasing the associated prefetch memory, causing subsequent prefetches to be blocked when max_prefetch_memory_bytes was set.

11.1.0 (03/23/2026)

New Features

  • Add a new option open_files_async. The existing behavior is on DB open, we open all sst files and do basic validations. For very large DBs on remote filesystems with many ssts, this may take very long. This option performs these validations instead in the background. Open errors found by this async background task are surfaced as a new background error kAsyncFileOpen.
  • Added BlockBasedTableOptions::kAuto index block search type that automatically selects between binary and interpolation search on a per-index-block basis. During SST construction, each index block's key distribution uniformity is analyzed using the coefficient of variation of key gaps, and index blocks with uniform keys use interpolation search while others fall back to binary search. The uniformity threshold is configurable via BlockBasedTableOptions::uniform_cv_threshold (default: 0.2).
  • Introduced enforce_write_buffer_manager_during_recovery option to allow WriteBufferManager to be enforced during WAL recovery. (Default: true)
  • Add memtable_batch_lookup_optimization option to use batch lookup optimization for memtable MultiGet. For skip list memtables, after each key lookup, the search path is cached and reused for the next key, reducing per-key cost from O(log N) to O(log d) where d is the distance between consecutive keys. Benchmarks show ~7% improvement in memtable-resident MultiGet throughput.
  • Added BlockBasedTableOptions::PrepopulateBlockCache::kFlushAndCompaction to prepopulate the block cache during both flush and compaction. Compaction-warmed blocks are inserted at BOTTOM priority (vs LOW for flush) so they are evicted first under cache pressure. Recommended only for use cases where most or all of the database is expected to reside in cache (e.g., tiered or remote storage where the working set fits in cache).
  • Added new mutable DB option verify_manifest_content_on_close (default: false). When enabled, on DB close the MANIFEST file is read back and all records are validated (CRC checksums and logical content). If corruption is detected, a fresh MANIFEST is written from in-memory state.

Behavior Changes

  • num_reads_sampled now factors in re-seeks and next/prev() on file iterators for files in L1+. next/prev() is discounted by 64x compared to seek due to being a much cheaper call.
  • Remote compaction workers now skip WAL recovery when opening the secondary DB instance, since only the LSM state from MANIFEST is needed for compaction. This reduces I/O and speeds up remote compaction startup.

Bug Fixes

  • Fix a bug in round-robin compaction that missed selecting input files that are needed to guarantee data correctness and cause crashing in debug builds or silent data corruption in release builds for Get().

11.0.0 (02/23/2026)

New Features

  • Added support for storing wide-column entity column values in blob files. When min_blob_size is configured, large column values in wide-column entities will be stored in blob files, reducing SST file size and improving read performance.
  • Added CompactionOptionsFIFO::max_data_files_size to support FIFO compaction trimming based on combined SST and blob file sizes. Added CompactionOptionsFIFO::use_kv_ratio_compaction to enable a capacity-derived intra-L0 compaction strategy optimized for BlobDB workloads, producing uniform-sized compacted files for predictable FIFO trimming.
  • Include interpolation search as an alternative to binary search, which typically performs better when keys are uniformly distributed. This is exposed as a new table option index_block_search_type. The default is binary_search.

Public API Changes

  • Added new virtual methods AbortAllCompactions() and ResumeAllCompactions() to the DB class. Added new Status::SubCode::kCompactionAborted to indicate a compaction was aborted. Added Status::IsCompactionAborted() helper method to check if a status represents an aborted compaction.
  • Drop support for reading (and writing) SST files using BlockBasedTableOptions.format_version < 2, which hasn't been the default format for about 10 years. An upgrade path is still possible with full compaction using a RocksDB version >= 4.6.0 and < 11.0.0 and then using the newer version.
  • Remove deprecated raw DB* variants of DB::Open and related functions. Some other minor public APIs were updated as a result
  • Remove deprecated DB::MaxMemCompactionLevel()
  • Remove useless option CompressedSecondaryCacheOptions::compress_format_version
  • Remove deprecated DB option skip_checking_sst_file_sizes_on_db_open. The option was deprecated in 10.5.0 and has been a no-op since then. File size validation is now always performed in parallel during DB open.
  • Remove deprecated SliceTransform::InRange() virtual method and the in_range callback parameter from rocksdb_slicetransform_create() in the C API. InRange() was never called by RocksDB and existed only for backward compatibility.
  • Remove deprecated, unused APIs and options: ReadOptions::managed and ColumnFamilyOptions::snap_refresh_nanos. Corresponding C and Java APIs are also removed.
  • Remove deprecated SstFileWriter::Add() method (use Put() instead) and the deprecated skip_filters parameter from SstFileWriter constructors (use BlockBasedTableOptions::filter_policy set to nullptr to skip filter generation instead).

Behavior Changes

  • Change the default value of CompactionOptionsUniversal::reduce_file_locking from false to true to improve write stall and reduce read regression

Bug Fixes

  • Fix longstanding failures that can arise from reading and/or compacting old DB dirs with range deletions (likely from version < 5.19.0) in many newer versions.
  • Fix a bug where WritePrepared/WriteUnprepared TransactionDB with two_write_queues=true could experience "sequence number going backwards" corruption during recovery from a background error, due to allocated-but-not-published sequence numbers not being synced before creating new WAL files.

Performance Improvements

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [org.rocksdb:rocksdbjni](https://github.com/facebook/rocksdb) from 11.0.4 to 11.1.1.
- [Release notes](https://github.com/facebook/rocksdb/releases)
- [Changelog](https://github.com/facebook/rocksdb/blob/v11.1.1/HISTORY.md)
- [Commits](facebook/rocksdb@v11.0.4...v11.1.1)

---
updated-dependencies:
- dependency-name: org.rocksdb:rocksdbjni
  dependency-version: 11.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Oct 9, 2026
@aaronriekenberg
aaronriekenberg merged commit 8e2f475 into main Oct 9, 2026
2 checks passed
@aaronriekenberg
aaronriekenberg deleted the dependabot/gradle/org.rocksdb-rocksdbjni-11.1.1 branch October 9, 2026 12:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant