]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
Fix merging range tombstone covering put during flush/compaction (#5406)
authorAndrew Kryczka <andrew.kryczka2@gmail.com>
Tue, 4 Jun 2019 17:17:24 +0000 (10:17 -0700)
committerLevi Tamasi <ltamasi@fb.com>
Tue, 4 Jun 2019 20:30:20 +0000 (13:30 -0700)
commit386fa199eb45df89db9776c5ae1299c80f4a590b
treed4fe70fef110ea9e886ada007c8407bc0b031102
parentd81aedf2bbcba724a39985c37cce6beaeb045b8e
Fix merging range tombstone covering put during flush/compaction (#5406)

Summary:
Flush/compaction use `MergeUntil` which has a special code path to
handle a merge ending with a non-`Merge` point key. In particular if
that key is a `Put` we forgot to check whether it is covered by a range
tombstone. If it is covered then we must not include it in the following call
to `TimedFullMerge`.

Fixes #5392.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5406

Differential Revision: D15611144

Pulled By: sagar0

fbshipit-source-id: ba6a7863ca2d043f591de78fd0c4f4561f0c500e
HISTORY.md
db/db_range_del_test.cc
db/merge_helper.cc