-
Notifications
You must be signed in to change notification settings - Fork 466
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
db: fix bug in interaction between Clone and indexed batches
In e32e94d the semantics of Iterators reading through indexed batches were updated. The semantics of a Clone'd Iterator reading through an indexed batch were updated so that the cloned Iterator observes exactly the same batch state as the Iterator being cloned. There was a bug in this implementation where a cloned iterator would use the cached tombstone/range key fragments on the batch, if available, and the cache would contain more recent keys. This commit updates the range deletion/range key fragment caching to only use and update the cache of range deletion and range key fragments if reading at the most-recent state of the batch. A new randomized test is added that tests the visiblity of batch range deletions and range keys in the presence of Clone.
- Loading branch information
Showing
3 changed files
with
266 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.