-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
crosscluster: handle lww condition failures #142368
crosscluster: handle lww condition failures #142368
Conversation
9b9d88c
to
4a3877f
Compare
d8c4119
to
434bfc7
Compare
This PR contains the KV changes required for https://docs.google.com/document/d/1rdt5IhmPPkTxnExfuDRDtnXN4OFca78bIGKwO4SRK5w/edit?usp=sharing. Once this merges, the only remaining LWW bugs in the SQL writer will be:
|
434bfc7
to
be98d04
Compare
@jeffswenson one annoying nit: in general, the convention is to break up 1 large commit that spans multiple packages into smaller, package scoped commits, especially if the commit has reviewers from several teams. Batching multiple commits in one PR is totally fine. |
Fair point. I'll start breaking this up into multiple PRs. Here's a small PR that removes the tie break option #143096. |
be98d04
to
73a79c1
Compare
This change aims to correct the SQL writer's LWW semantics, enabling the retirement of the KV writer. If the SQL writer observes the condition failed error's introduced by cockroachdb#142368, it will drop the row as a LWW loss. This closes a LWW bug where an old replicated write can overwrite a recent local tombstone. Release note: none Epic: CRDB-48647
73a79c1
to
136b1c9
Compare
I split this change up into three stacked PRs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3rd commit LGTM!
if !useKVProc { | ||
skip.IgnoreLint(t, "local delete ordering is not handled correctly by the SQL processor") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉
This change aims to correct the SQL writer's LWW semantics, enabling the retirement of the KV writer. If the SQL writer observes the condition failed error's introduced by cockroachdb#142368, it will drop the row as a LWW loss. This closes a LWW bug where an old replicated write can overwrite a recent local tombstone. Release note: none Epic: CRDB-48647
136b1c9
to
7193813
Compare
Thanks for the reviews! bors r+ |
This change aims to correct the SQL writer's LWW semantics, enabling the
retirement of the KV writer. If the SQL writer observes the condition
failed error's introduced by #143100, it will drop the row as a LWW
loss. This closes a LWW bug where an old replicated write can overwrite
a recent local tombstone.
The first two commits in this PR are from:
Release note: none
Epic: CRDB-48647