]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
Fix a bug where iterator can return incorrect data for DeleteRange() users (#11786)
authorChangyu Bi <changyubi@meta.com>
Fri, 1 Sep 2023 18:33:15 +0000 (11:33 -0700)
committerAndrew Kryczka <andrew.kryczka2@gmail.com>
Fri, 1 Sep 2023 19:08:33 +0000 (12:08 -0700)
commitecfb8779c2c041d1dff6bf518b8abb3bd9302297
tree53a5d59ccc4cc9925f1ef38000866f56f9c7c88c
parent869801945b0699a4800d2e022966a1f38b30bfbd
Fix a bug where iterator can return incorrect data for DeleteRange() users (#11786)

Summary:
This should only affect iterator when
- user uses DeleteRange(),
- An iterator from level L has a non-ok status (such non-ok status may not be caught before the bug fix in https://github.com/facebook/rocksdb/pull/11783), and
- A range tombstone covers a key from level > L and triggers a reseek sets the status_ to OK in SeekImpl()/SeekPrevImpl() e.g. https://github.com/facebook/rocksdb/blob/bd6a8340c3a2db764620e90b3ac5be173fc68a0c/table/merging_iterator.cc#L801

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

Differential Revision: D48908830

Pulled By: cbi42

fbshipit-source-id: eb564be375af4e33dc27542eff753260186e6d5d
table/merging_iterator.cc
unreleased_history/bug_fixes/010_check_more_iter_status_for_delete_range.md [new file with mode: 0644]