Skip to content

rocksdb

v11.1.2 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

Published 1mo NoSQL & Document
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

database storage-engine

Summary

AI summary

Public API changes break existing implementations by switching to PinnableSlice, bug fixes prevent SST file deletion on close and address IODispatcher memory leaks, and new features add async file opening, adaptive index search, write‑buffer enforcement, memtable batch lookup optimization, block‑cache prepopulation control, and manifest verification.

Full changelog

11.1.2 (06/24/2026)

Bug Fixes

  • Fixed a bug where closing a read-only DB instance could delete live SST files created by a concurrent read-write DB sharing the same directory.

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.

Breaking Changes

  • Changed `ExternalTableReader::Get` and `ExternalTableReader::MultiGet` to use `PinnableSlice` instead of `std::string`, breaking existing implementations.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track rocksdb

Get notified when new releases ship.

Sign up free

About rocksdb

A library that provides an embeddable, persistent key-value store for fast storage.

All releases →

Related context

Beta — feedback welcome: [email protected]