Public API Change
- NewLRUCache() will determine number of shard bits automatically based on capacity, if the user doesn’t pass one. This also impacts the default block cache when the user doesn’t explict provide one.
- Change the default of delayed slowdown value to 16MB/s and further increase the L0 stop condition to 36 files.
New Features
- Added new overloaded function GetApproximateSizes that allows to specify if memtable stats should be computed only without computing SST files’ stats approximations.
- Added new function GetApproximateMemTableStats that approximates both number of records and size of memtables.
- (Experimental) Two-level indexing that partition the index and creates a 2nd level index on the partitions. The feature can be enabled by setting kTwoLevelIndexSearch as IndexType and configuring index_per_partition.
Bug Fixes
- RangeSync() should work if ROCKSDB_FALLOCATE_PRESENT is not set
- Fix wrong results in a data race case in Get()
- Some fixes related to 2PC.
- Fix several bugs in Direct I/O supports.
- Fix a regression bug which can cause Seek() to miss some keys if the return key has been updated many times after the snapshot which is used by the iterator.