fix: ensure range requests in txn are executed on all cluster members#21432
fix: ensure range requests in txn are executed on all cluster members#21432kairosci wants to merge 1 commit intoetcd-io:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: kairosci The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hi @kairosci. Thanks for your PR. I'm waiting for a etcd-io member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
49a2760 to
d649536
Compare
d649536 to
716f743
Compare
39bc34d to
9196a59
Compare
…-io#18667 Ensure range requests in transactions are executed only on the requester member, while all members validate for consistency. This fixes data inconsistency issues when range requests have specific revisions that may be compacted on non-requester members. Signed-off-by: Alessio Attilio <attilio.alessio@protonmail.com>
9196a59 to
7645fe8
Compare
Summary
removeNeedlessRangeReqsfunction that was incorrectly removing range requests from txn operations on some cluster membersRoot Cause
When a client makes a txn with a range request (e.g.,
get key --rev=X), if the revision has been compacted:removeNeedlessRangeReqs, the txn proceeds and executes the write operations (put/delete)This leads to data inconsistency across cluster members.
Solution
Remove the optimization that removes range requests from read-only txns. This ensures all cluster members execute the same validation and maintain consistent data.
Testing