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
bd92fbd
commit b7e956b
Showing
4 changed files
with
429 additions
and
83 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.