Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
storage: augment command queue with timestamps for non-interfering reads
Previously, the command queue considered any two commands to overlap if the key ranges overlapped, regardless of whether the timestamps on the two commands guaranteed they were non-overlapping. Consider the case of a read over key ranges "a" - "z" at timestamp t=1s. If a write arrives for key "c" at timestamp > t=1s, then it should be free to proceed regardless of the disposition of the read because the read cannot affect the write's timestamp. Similarly, if a write is active for key "c" at timestamp t=1s, a read that arrives for key range "a" - "z" should be free to proceed as long as its timestamp is < t=1s. Note that local keys do not allow non-interference between earlier reads and overlapping writes. Fixes #14298
- Loading branch information
1 parent
34ce9e5
commit 81ce3af
Showing
4 changed files
with
471 additions
and
112 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
Oops, something went wrong.