Skip to content

RocksDB 5.6.1

Compare
Choose a tag to compare
@yiwu-arbug yiwu-arbug released this 25 Jul 17:15
· 7 commits to 5.6.fb since this release

5.6.1 (07/25/2017)

Bug Fixes

  • Fix lite build.

5.6.0 (06/06/2017)

Public API Change

  • Scheduling flushes and compactions in the same thread pool is no longer supported by setting max_background_flushes=0. Instead, users can achieve this by configuring their high-pri thread pool to have zero threads.
  • Replace Options::max_background_flushes, Options::max_background_compactions, and Options::base_background_compactions all with Options::max_background_jobs, which automatically decides how many threads to allocate towards flush/compaction.
  • options.delayed_write_rate by default take the value of options.rate_limiter rate.
  • Replace global variable IOStatsContext iostats_context with IOStatsContext* get_iostats_context(); replace global variable PerfContext perf_context with PerfContext* get_perf_context().

New Features

  • Change ticker/histogram statistics implementations to use core-local storage. This improves aggregation speed compared to our previous thread-local approach, particularly for applications with many threads.
  • Users can pass a cache object to write buffer manager, so that they can cap memory usage for memtable and block cache using one single limit.
  • Flush will be triggered when 7/8 of the limit introduced by write_buffer_manager or db_write_buffer_size is triggered, so that the hard threshold is hard to hit.
  • Introduce WriteOptions.low_pri. If it is true, low priority writes will be throttled if the compaction is behind.
  • DB::IngestExternalFile() now supports ingesting files into a database containing range deletions.

Bug Fixes

  • Shouldn't ignore return value of fsync() in flush.