]> 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:44:37 +0000 (13:44 -0700)
commita1f08cc953954ff42077fc3fc4a845d54b7f6d38
tree2a1bb680390b0aaa9a59deed3bf65a24d7d29974
parent0d9bfa6e4d98f29e508efedcde811a45a08d82cd
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