-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The distsender is not fully implementing the ResumeSpan contract for Get; the promise is that a nil span is set when the operation has successfully completed. A Get that reaches a kvserver but that is not executed has the ResumeSpan set on the server side. But if the requests span multiple ranges, a subset of the requests will not make it to any kvserver. Any Gets that weren't executed and don't have a ResumeSpan will not be executed again (it looks to the upper layer as if the Get was executed and found no key). The end result is that scans can miss rows. This change fills in the missing case and improves the TestMultiRangeScanWithPagination test to allow running mixed operations. Fixes #74736. Release note (bug fix): In particular cases, some queries that involve a scan which returns many results and which includes lookups for individual keys were not returning all results from the table.
- Loading branch information
1 parent
72c5471
commit a913c71
Showing
3 changed files
with
189 additions
and
64 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
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