Skip to content

RocksDB 8.5.3

Compare
Choose a tag to compare
@ajkr ajkr released this 01 Sep 21:01
· 4 commits to 8.5.fb since this release

Please note 8.5.1 includes a fix for a persisted database corruption in an unlikely edge case. Upgrading to a version including this fix, like this one, is highly recommended!

8.5.3 (2023-09-01)

Bug Fixes

  • Fixed a race condition in GenericRateLimiter that could cause it to stop granting requests

8.5.2 (2023-08-31)

Bug fixes

  • Fix a bug where iterator may return incorrect result for DeleteRange() users if there was an error reading from a file.

8.5.1 (2023-08-31)

Bug fixes

  • Fix a bug where if there is an error reading from offset 0 of a file from L1+ and that the file is not the first file in the sorted run, data can be lost in compaction and read/scan can return incorrect results.

8.5.0 (2023-07-21)

Public API Changes

  • Removed recently added APIs GeneralCache and MakeSharedGeneralCache() as our plan changed to stop exposing a general-purpose cache interface. The old forms of these APIs, Cache and NewLRUCache(), are still available, although general-purpose caching support will be dropped eventually.

Behavior Changes

  • Option periodic_compaction_seconds no longer supports FIFO compaction: setting it has no effect on FIFO compactions. FIFO compaction users should only set option ttl instead.
  • Move prefetching responsibility to page cache for compaction read for non directIO use case

Performance Improvements

  • In case of direct_io, if buffer passed by callee is already aligned, RandomAccessFileRead::Read will avoid realloacting a new buffer, reducing memcpy and use already passed aligned buffer.
  • Small efficiency improvement to HyperClockCache by reducing chance of compiler-generated heap allocations

Bug Fixes

  • Fix use_after_free bug in async_io MultiReads when underlying FS enabled kFSBuffer. kFSBuffer is when underlying FS pass their own buffer instead of using RocksDB scratch in FSReadRequest. Right now it's an experimental feature.
  • Fix a bug in FileTTLBooster that can cause users with a large number of levels (more than 65) to see errors like "runtime error: shift exponent .. is too large.." (#11673).