-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release-23.2: batcheval: add BarrierRequest.WithLeaseAppliedIndex
#118407
release-23.2: batcheval: add BarrierRequest.WithLeaseAppliedIndex
#118407
Conversation
Otherwise, `BatchRequest.RequiresConsensus()` may return `false` and not submit the barrier through Raft. Similarly, `shouldWaitOnLatchesWithoutAcquiring` will return `false` so it will contend with later writes. Barriers are not used in recent releases, so this does not have any mixed-version concerns. Epic: none Release note: None
This can be used to detect whether a replica has applied the barrier command yet. Epic: none Release note: None
This only executes random `Barrier` requests, but does not verify that the barrier guarantees are actually satisfied (i.e. that all past and concurrent writes are applied before it returns). At least we get some execution coverage, and verify that it does not have negative interactions with other operations. Epic: none Release note: None
This allows a caller to wait for a replica to reach a certain lease applied index. Similar functionality elsewhere is not migrated yet, out of caution. Epic: none Release note: None
Thanks for opening a backport. Please check the backport criteria before merging:
If your backport adds new functionality, please ensure that the following additional criteria are satisfied:
Also, please add a brief release justification to the body of your PR to justify this |
BarrierRequest.WithLeaseAppliedIndex
The last use of |
This is part of a #117612 backport.
With the exception of the
isAlone
flag, this PR does not have any behavioral changes -- it only adds unused (for now) APIs. I'll verify that theisAlone
change is compatible with all uses back to 22.2 (for mixed-version clusters), which I'm pretty sure is the case.Backport:
BarrierRequest
asisAlone
" (kvpb: markBarrierRequest
asisAlone
#117787)BarrierRequest.WithLeaseAppliedIndex
" (batcheval: addBarrierRequest.WithLeaseAppliedIndex
#117967)Replica.WaitForLeaseAppliedIndex()
" (kvserver: addReplica.WaitForLeaseAppliedIndex()
#117968)Please see individual PRs for details.
Release justification: prerequisites for backporting #117612.
/cc @cockroachdb/release