You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: HISTORY.md
+7
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,14 @@
2
2
## Additional Improvements
3
3
### Public API Change
4
4
* DeleteRange now returns `Status::InvalidArgument` if the range's end key comes before its start key according to the user comparator. Previously the behavior was undefined.
5
+
* ldb now uses options.force_consistency_checks = true by default and "--disable_consistency_checks" is added to disable it.
* When user uses options.force_consistency_check in RocksDb, instead of crashing the process, we now pass the error back to the users without killing the process.
8
10
* Added experimental ColumnFamilyOptions::sst_partitioner_factory to define determine the partitioning of sst files. This helps compaction to split the files on interesting boundaries (key prefixes) to make propagation of sst files less write amplifying (covering the whole key space).
9
11
* Option `max_background_flushes` can be set dynamically using DB::SetDBOptions().
12
+
* Allow `CompactionFilter`s to apply in more table file creation scenarios such as flush and recovery. For compatibility, `CompactionFilter`s by default apply during compaction. Users can customize this behavior by overriding `CompactionFilterFactory::ShouldFilterTableFileCreation()`. Picked from [facebook/rocksdb#pr8243](https://github.com/facebook/rocksdb/pull/8243).
10
13
11
14
### Bug Fixes
12
15
* Fixed issue #6316 that can cause a corruption of the MANIFEST file in the middle when writing to it fails due to no disk space.
@@ -19,6 +22,8 @@
19
22
* Fix a bug in which a snapshot read could be affected by a DeleteRange after the snapshot (#6062).
20
23
*`WriteBatchWithIndex::DeleteRange` returns `Status::NotSupported`. Previously it returned success even though reads on the batch did not account for range tombstones. The corresponding language bindings now cannot be used. In C, that includes `rocksdb_writebatch_wi_delete_range`, `rocksdb_writebatch_wi_delete_range_cf`, `rocksdb_writebatch_wi_delete_rangev`, and `rocksdb_writebatch_wi_delete_rangev_cf`. In Java, that includes `WriteBatchWithIndex::deleteRange`.
21
24
25
+
### Performance Improvements
26
+
* When gathering unreferenced obsolete files for purging, file metas associated with active versions will no longer be copied for double-check. Updated VersionBuilder to make sure each physical file is reference counted by at most one FileMetaData.
22
27
23
28
## 6.4.6 (10/16/2019)
24
29
* Fix a bug when partitioned filters and prefix search are used in conjunction, ::SeekForPrev could return invalid for an existing prefix. ::SeekForPrev might be called by the user, or internally on ::Prev, or within ::Seek if the return value involves Delete or a Merge operand.
@@ -54,6 +59,7 @@
54
59
* ldb sometimes uses a string-append merge operator if no merge operator is passed in. This is to allow users to print keys from a DB with a merge operator.
55
60
* Replaces old Registra with ObjectRegistry to allow user to create custom object from string, also add LoadEnv() to Env.
56
61
* Added new overload of GetApproximateSizes which gets SizeApproximationOptions object and returns a Status. The older overloads are redirecting their calls to this new method and no longer assert if the include_flags doesn't have either of INCLUDE_MEMTABLES or INCLUDE_FILES bits set. It's recommended to use the new method only, as it is more type safe and returns a meaningful status in case of errors.
62
+
* LDBCommandRunner::RunCommand() to return the status code as an integer, rather than call exit() using the code.
57
63
58
64
### New Features
59
65
* Add argument `--secondary_path` to ldb to open the database as the secondary instance. This would keep the original DB intact.
@@ -93,6 +99,7 @@
93
99
* Add an option `unordered_write` which trades snapshot guarantees with higher write throughput. When used with WRITE_PREPARED transactions with two_write_queues=true, it offers higher throughput with however no compromise on guarantees.
94
100
* Allow DBImplSecondary to remove memtables with obsolete data after replaying MANIFEST and WAL.
95
101
* Add an option `failed_move_fall_back_to_copy` (default is true) for external SST ingestion. When `move_files` is true and hard link fails, ingestion falls back to copy if `failed_move_fall_back_to_copy` is true. Otherwise, ingestion reports an error.
102
+
* Add command `list_file_range_deletes` in ldb, which prints out tombstones in SST files.
96
103
97
104
### Performance Improvements
98
105
* Reduce binary search when iterator reseek into the same data block.
0 commit comments