RocksDB v6.23.0 Release Notes
Release Date: 2021-07-16 // almost 3 years ago-
Behavior Changes
- ๐ Obsolete keys in the bottommost level that were preserved for a snapshot will now be cleaned upon snapshot release in all cases. This form of compaction (snapshot release triggered compaction) previously had an artificial limitation that multiple tombstones needed to be present. ### ๐ Bug Fixes
- ๐จ Blob file checksums are now printed in hexadecimal format when using the
manifest_dump
ldb
command. GetLiveFilesMetaData()
now populates thetemperature
,oldest_ancester_time
, andfile_creation_time
fields of itsLiveFileMetaData
results when the information is available. Previously these fields always contained zero indicating unknown.- ๐ Fix mismatches of OnCompaction{Begin,Completed} in case of DisableManualCompaction().
- ๐ Fix continuous logging of an existing background error on every user write
- Fix a bug that
Get()
return Status::OK() and an empty value for non-existent key whenread_options.read_tier = kBlockCacheTier
. - ๐ Fix a bug that stat in
get_context
didn't accumulate to statistics when query is failed. - โ Fixed handling of DBOptions::wal_dir with LoadLatestOptions() or ldb --try_load_options on a copied or moved DB. Previously, when the WAL directory is same as DB directory (default), a copied or moved DB would reference the old path of the DB as the WAL directory, potentially corrupting both copies. Under this change, the wal_dir from DB::GetOptions() or LoadLatestOptions() may now be empty, indicating that the current DB directory is used for WALs. This is also a subtle API change.
๐ New Features
- ldb has a new feature,
list_live_files_metadata
, that shows the live SST files, as well as their LSM storage level and the column family they belong to. - The new BlobDB implementation now tracks the amount of garbage in each blob file in the MANIFEST.
- โ Integrated BlobDB now supports Merge with base values (Put/Delete etc.).
- RemoteCompaction supports sub-compaction, the job_id in the user interface is changed from
int
touint64_t
to support sub-compaction id. - ๐ฆ Expose statistics option in RemoteCompaction worker.
Public API change
- โ Added APIs to the Customizable class to allow developers to create their own Customizable classes. Created the utilities/customizable_util.h file to contain helper methods for developing new Customizable classes.
- ๐ Change signature of SecondaryCache::Name(). Make SecondaryCache customizable and add SecondaryCache::CreateFromString method.