mirror of https://github.com/facebook/rocksdb.git
1.9 KiB
1.9 KiB
title | layout | author | category |
---|---|---|---|
RocksDB 5.8 Released! | post | maysamyabandeh | blog |
Public API Change
- Users of
Statistics::getHistogramString()
will see fewer histogram buckets and different bucket endpoints. Slice::compare
and BytewiseComparatorCompare
no longer acceptSlice
s containing nullptr.Transaction::Get
andTransaction::GetForUpdate
variants withPinnableSlice
added.
New Features
- Add Iterator::Refresh(), which allows users to update the iterator state so that they can avoid some initialization costs of recreating iterators.
- Replace dynamic_cast<> (except unit test) so people can choose to build with RTTI off. With make, release mode is by default built with -fno-rtti and debug mode is built without it. Users can override it by setting USE_RTTI=0 or 1.
- Universal compactions including the bottom level can be executed in a dedicated thread pool. This alleviates head-of-line blocking in the compaction queue, which cause write stalling, particularly in multi-instance use cases. Users can enable this feature via
Env::SetBackgroundThreads(N, Env::Priority::BOTTOM)
, whereN > 0
. - Allow merge operator to be called even with a single merge operand during compactions, by appropriately overriding
MergeOperator::AllowSingleOperand
. - Add
DB::VerifyChecksum()
, which verifies the checksums in all SST files in a running DB. - Block-based table support for disabling checksums by setting
BlockBasedTableOptions::checksum = kNoChecksum
.
Bug Fixes
- Fix wrong latencies in
rocksdb.db.get.micros
,rocksdb.db.write.micros
, androcksdb.sst.read.micros
. - Fix incorrect dropping of deletions during intra-L0 compaction.
- Fix transient reappearance of keys covered by range deletions when memtable prefix bloom filter is enabled.
- Fix potentially wrong file smallest key when range deletions separated by snapshot are written together.