]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
Fix assertion failure in ConstructFragmentedRangeTombstones() (#12796)
authorChangyu Bi <changyubi@meta.com>
Sat, 22 Jun 2024 18:31:16 +0000 (11:31 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Sat, 22 Jun 2024 18:31:16 +0000 (11:31 -0700)
commitb4a84efb4e842b782e976de5b22a4554c2f76edd
tree4ad63207fcf9c80a1cae91b59f9e31729270b8a9
parent981fd432fa2441fc10a59a462bd14906ccb1c0e0
Fix assertion failure in ConstructFragmentedRangeTombstones() (#12796)

Summary:
the assertion `assert(!IsFragmentedRangeTombstonesConstructed(false));` assumes ConstructFragmentedRangeTombstones() is called only once for a memtable. This is not true since SwitchMemtable() can be called multiple times on the same live memtable, if a previous attempt fails. So remove the assertion in this PR and simplify relevant code.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/12796

Test Plan: the exact condition to trigger manifest write in SwitchMemtable() is complicated. Will monitor crash test to see if there's no more failure.

Reviewed By: hx235

Differential Revision: D58913310

Pulled By: cbi42

fbshipit-source-id: 458bb9eebcf6743e9001186fcb757e4b50e8a5d2
db/memtable.cc
db/memtable.h