]> 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 20:50:42 +0000 (13:50 -0700)
commitf2cbed0cc4469712a99a1aed17b1de1b9252582b
tree3cf00804bdd114f644f3e1979c7268b322f62af7
parente283b751a69e65f6d041029c4241548b667f22a8
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]