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
+36-9Lines changed: 36 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,23 +1,50 @@
1
1
# Rocksdb Change Log
2
-
3
-
# 5.17.2 (10/24/2018)
2
+
## 5.18.3 (2/11/2019)
4
3
### Bug Fixes
5
-
* Fix the bug that WriteBatchWithIndex's SeekForPrev() doesn't see the entries with the same key.
4
+
* Fix possible LSM corruption when both range deletions and subcompactions are used. The symptom of this corruption is L1+ files overlapping in the user key space.
5
+
6
+
## 5.18.2 (01/31/2019)
7
+
### Public API Change
8
+
* Change time resolution in FileOperationInfo.
9
+
* Deleting Blob files also go through SStFileManager.
10
+
11
+
## 5.18.0 (11/30/2018)
12
+
### New Features
13
+
* Introduced `JemallocNodumpAllocator` memory allocator. When being use, block cache will be excluded from core dump.
14
+
* Introduced `PerfContextByLevel` as part of `PerfContext` which allows storing perf context at each level. Also replaced `__thread` with `thread_local` keyword for perf_context. Added per-level perf context for bloom filter and `Get` query.
15
+
* With level_compaction_dynamic_level_bytes = true, level multiplier may be adjusted automatically when Level 0 to 1 compaction is lagged behind.
16
+
* Introduced DB option `atomic_flush`. If true, RocksDB supports flushing multiple column families and atomically committing the result to MANIFEST. Useful when WAL is disabled.
17
+
* Added `num_deletions` and `num_merge_operands` members to `TableProperties`.
18
+
* Added "rocksdb.min-obsolete-sst-number-to-keep" DB property that reports the lower bound on SST file numbers that are being kept from deletion, even if the SSTs are obsolete.
19
+
* Add xxhash64 checksum support
20
+
* Introduced `MemoryAllocator`, which lets the user specify custom memory allocator for block based table.
21
+
* Improved `DeleteRange` to prevent read performance degradation. The feature is no longer marked as experimental.
22
+
* Enabled checkpoint on readonly db (DBImplReadOnly).
23
+
24
+
### Public API Change
25
+
*`DBOptions::use_direct_reads` now affects reads issued by `BackupEngine` on the database's SSTs.
26
+
*`NO_ITERATORS` is divided into two counters `NO_ITERATOR_CREATED` and `NO_ITERATOR_DELETE`. Both of them are only increasing now, just as other counters.
6
27
7
-
# 5.17.1 (10/16/2018)
8
28
### Bug Fixes
9
-
* Fix slow flush/compaction when DB contains many snapshots. The problem became noticeable to us in DBs with 100,000+ snapshots, though it will affect others at different thresholds.
10
-
* Properly set the stop key for a truncated manual CompactRange
11
29
* Fix corner case where a write group leader blocked due to write stall blocks other writers in queue with WriteOptions::no_slowdown set.
12
-
13
-
### New Features
14
-
* Introduced CacheAllocator, which lets the user specify custom allocator for memory in block cache.
30
+
* Fix in-memory range tombstone truncation to avoid erroneously covering newer keys at a lower level, and include range tombstones in compacted files whose largest key is the range tombstone's start key.
31
+
* Properly set the stop key for a truncated manual CompactRange
32
+
* Fix slow flush/compaction when DB contains many snapshots. The problem became noticeable to us in DBs with 100,000+ snapshots, though it will affect others at different thresholds.
33
+
* Fix the bug that WriteBatchWithIndex's SeekForPrev() doesn't see the entries with the same key.
34
+
* Fix the bug where user comparator was sometimes fed with InternalKey instead of the user key. The bug manifests when during GenerateBottommostFiles.
35
+
* Fix a bug in WritePrepared txns where if the number of old snapshots goes beyond the snapshot cache size (128 default) the rest will not be checked when evicting a commit entry from the commit cache.
36
+
* Fixed Get correctness bug in the presence of range tombstones where merge operands covered by a range tombstone always result in NotFound.
37
+
* Start populating `NO_FILE_CLOSES` ticker statistic, which was always zero previously.
38
+
* The default value of NewBloomFilterPolicy()'s argument use_block_based_builder is changed to false. Note that this new default may cause large temp memory usage when building very large SST files.
39
+
* Fix a deadlock caused by compaction and file ingestion waiting for each other in the event of write stalls.
40
+
* Make DB ignore dropped column families while committing results of atomic flush.
15
41
16
42
## 5.17.0 (10/05/2018)
17
43
### Public API Change
18
44
*`OnTableFileCreated` will now be called for empty files generated during compaction. In that case, `TableFileCreationInfo::file_path` will be "(nil)" and `TableFileCreationInfo::file_size` will be zero.
19
45
* Add `FlushOptions::allow_write_stall`, which controls whether Flush calls start working immediately, even if it causes user writes to stall, or will wait until flush can be performed without causing write stall (similar to `CompactRangeOptions::allow_write_stall`). Note that the default value is false, meaning we add delay to Flush calls until stalling can be avoided when possible. This is behavior change compared to previous RocksDB versions, where Flush calls didn't check if they might cause stall or not.
20
46
* Application using PessimisticTransactionDB is expected to rollback/commit recovered transactions before starting new ones. This assumption is used to skip concurrency control during recovery.
47
+
* Expose column family id to `OnCompactionCompleted`.
21
48
22
49
### New Features
23
50
* TransactionOptions::skip_concurrency_control allows pessimistic transactions to skip the overhead of concurrency control. Could be used for optimizing certain transactions or during recovery.
0 commit comments