RocksDB v5.12.0 Release Notes

Release Date: 2018-02-14 // about 6 years ago
  • Public API Change

    • ๐Ÿ‘€ Iterator::SeekForPrev is now a pure virtual method. This is to prevent user who implement the Iterator interface fail to implement SeekForPrev by mistake.
    • Add include_end option to make the range end exclusive when include_end == false in DeleteFilesInRange().
    • Add CompactRangeOptions::allow_write_stall, which makes CompactRange start working immediately, even if it causes user writes to stall. The default value is false, meaning we add delay to CompactRange calls until stalling can be avoided when possible. Note this delay is not present in previous RocksDB versions.
    • Creating checkpoint with empty directory now returns Status::InvalidArgument; previously, it returned Status::IOError.
    • โž• Adds a BlockBasedTableOption to turn off index block compression.
    • Close() method now returns a status when closing a db.

    ๐Ÿ†• New Features

    • ๐Ÿ‘Œ Improve the performance of iterators doing long range scans by using readahead.
    • โž• Add new function DeleteFilesInRanges() to delete files in multiple ranges at once for better performance.
    • ๐Ÿ— FreeBSD build support for RocksDB and RocksJava.
    • ๐Ÿ‘Œ Improved performance of long range scans with readahead.
    • โšก๏ธ Updated to and now continuously tested in Visual Studio 2017.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fix DisableFileDeletions() followed by GetSortedWalFiles() to not return obsolete WAL files that PurgeObsoleteFiles() is going to delete.
    • ๐Ÿ›  Fix Handle error return from WriteBuffer() during WAL file close and DB close.
    • ๐Ÿ›  Fix advance reservation of arena block addresses.
    • ๐Ÿ›  Fix handling of empty string as checkpoint directory.