Revision a4d02dc905eb24283d6de2f40214048a811d7f1f authored by Andrew Kryczka on 27 October 2017, 22:43:42 UTC, committed by Andrew Kryczka on 28 October 2017, 02:40:07 UTC
Summary:
Problem was in bottommost compaction, when an L0->L0 compaction happened and L0 was bottommost. Then we'd preserve tombstones according to `Compaction::KeyNotExistsBeyondOutputLevel`, while zeroing seqnum according to `CompactionIterator::PrepareOutput`, thus triggering the assertion in `PrepareOutput`. To fix, we can just drop tombstones in L0->L0 when the output is "bottommost", i.e., the compaction includes the oldest L0 file and there's nothing at lower levels.
Closes https://github.com/facebook/rocksdb/pull/3085

Differential Revision: D6175742

Pulled By: ajkr

fbshipit-source-id: 8ab19a2e001496f362e9eb0a71757e2f6ecfdb3b
1 parent d31d022
History
File Mode Size
buckify_rocksdb.py -rw-r--r-- 5.0 KB
rocks_test_runner.sh -rwxr-xr-x 160 bytes
targets_builder.py -rw-r--r-- 1.9 KB
targets_cfg.py -rw-r--r-- 2.8 KB
util.py -rw-r--r-- 3.1 KB

back to top