Databases 4 min read

RocksDB Release Notes: Behavior Changes, Feature Removals, Build Changes, New Features, and Fixes

This article outlines the latest RocksDB release updates, including disabled checksum verification options, removed Lite and deprecated APIs, default shared library builds, new compression filter and MultiGetEntity APIs, and various bug fixes such as concurrency issues and async I/O error handling.

Laravel Tech Community
Laravel Tech Community
Laravel Tech Community
RocksDB Release Notes: Behavior Changes, Feature Removals, Build Changes, New Features, and Fixes

RocksDB is a high‑performance embedded key‑value store, a fork of Google LevelDB, optimized for multi‑core CPUs and fast storage, written in C++ with official bindings for C++, C and Java, plus many third‑party bindings.

Behavior Changes

ReadOptions::verify_checksums=false disables checksum verification for non‑ CacheEntryRole::kDataBlock blocks.

When async_io scanning is enabled and POSIX does not support IOUring, a Status::NotSupported error is returned to the user.

Feature Removals

Removed RocksDB Lite .

Removed block_cache_compressed feature and its related statistics.

Removed deprecated Env::LoadEnv() , replaced by Env::CreateFromString() .

Removed deprecated FileSystem::Load() , replaced by FileSystem::CreateFromString() .

Removed deprecated utility functions and their Java bindings: LoadOptionsFromFile , LoadLatestOptions , CheckOptionsCompatibility .

Removed the FactoryFunc for LoadObject from customizable helper methods.

Build Changes

The default make build now produces a shared library instead of a static library; use LIB_MODE=static to override.

New Features

Through the FilterV3 API, compression filters now support wide‑column entities.

Added do_not_compress_roles to CompressedSecondaryCacheOptions to prevent compression of certain block types; filter blocks are now excluded from CompressedSecondaryCache compression by default.

Introduced a new MultiGetEntity API for batch wide‑column point queries.

Fixes

Fixed a data race on ColumnFamilyData::flush_reason caused by concurrent flushes.

Resolved issues with Get and MultiGet when user‑defined timestamps are used with BlobDB.

Corrected atypical behavior of LockWAL() .

Fixed an interaction bug where GetEntity displayed a Blob reference instead of the Blob value.

When ReadOptions::async_io is true but IOUring is unavailable, MultiGet now returns Status::NotSupported() instead of incorrectly returning Status::Corruption() .

Fixed errors opening a DB and recovering from a compressed WAL.

PerformanceDatabaseC++RocksDBKey-Value StoreRelease Notes
Laravel Tech Community
Written by

Laravel Tech Community

Specializing in Laravel development, we continuously publish fresh content and grow alongside the elegant, stable Laravel framework.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.