forked from facebook/rocksdb
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Summary: 5.4.5 release blog post. Tag created at: https://github.com/facebook/rocksdb/releases/tag/rocksdb-5.4.5 Closes facebook#2378 Differential Revision: D5141648 Pulled By: sagar0 fbshipit-source-id: 43faadfbd7feb8bb01c3d56127ef3453e23dc28a
- Loading branch information
1 parent
7eca90f
commit 2d05002
Showing
1 changed file
with
39 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
--- | ||
title: RocksDB 5.4.5 Released! | ||
layout: post | ||
author: sagar0 | ||
category: blog | ||
--- | ||
|
||
### Public API Change | ||
* Support dynamically changing `stats_dump_period_sec` option via SetDBOptions(). | ||
* Added ReadOptions::max_skippable_internal_keys to set a threshold to fail a request as incomplete when too many keys are being skipped while using iterators. | ||
* DB::Get in place of std::string accepts PinnableSlice, which avoids the extra memcpy of value to std::string in most of cases. | ||
* PinnableSlice releases the pinned resources that contain the value when it is destructed or when ::Reset() is called on it. | ||
* The old API that accepts std::string, although discouraged, is still supported. | ||
* Replace Options::use_direct_writes with Options::use_direct_io_for_flush_and_compaction. See Direct IO wiki for details. | ||
|
||
### New Features | ||
* Memtable flush can be avoided during checkpoint creation if total log file size is smaller than a threshold specified by the user. | ||
* Introduce level-based L0->L0 compactions to reduce file count, so write delays are incurred less often. | ||
* (Experimental) Partitioning filters which creates an index on the partitions. The feature can be enabled by setting partition_filters when using kFullFilter. Currently the feature also requires two-level indexing to be enabled. Number of partitions is the same as the number of partitions for indexes, which is controlled by metadata_block_size. | ||
* DB::ResetStats() to reset internal stats. | ||
* Added CompactionEventListener and EventListener::OnFlushBegin interfaces. | ||
* Added DB::CreateColumnFamilie() and DB::DropColumnFamilies() to bulk create/drop column families. | ||
* Facility for cross-building RocksJava using Docker. | ||
|
||
### Bug Fixes | ||
* Fix WriteBatchWithIndex address use after scope error. | ||
* Fix WritableFile buffer size in direct IO. | ||
* Add prefetch to PosixRandomAccessFile in buffered io. | ||
* Fix PinnableSlice access invalid address when row cache is enabled. | ||
* Fix huge fallocate calls fail and make XFS unhappy. | ||
* Fix memory alignment with logical sector size. | ||
* Fix alignment in ReadaheadRandomAccessFile. | ||
* Fix bias with read amplification stats (READ_AMP_ESTIMATE_USEFUL_BYTES and READ_AMP_TOTAL_READ_BYTES). | ||
* Fix a manual / auto compaction data race. | ||
* Fix CentOS 5 cross-building of RocksJava. | ||
* Build and link with ZStd when creating the static RocksJava build. | ||
* Fix snprintf's usage to be cross-platform. | ||
* Fix build errors with blob DB. | ||
* Fix readamp test type inconsistency. |