Split annotation for multiple-writers#4102
Conversation
|
/retest |
|
LGTM label has been added. DetailsGit tree hash: d7ba0a0d69992fa6117e370a6eca9d93dc0b8e85 |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: ntnn 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 |
|
/retest flake? |
|
/retest |
|
Isn't this one annotation meant as a lock and splitting it up would defeat it's purpose? Better be extra careful understanding why it exists. |
|
Compare #3251. The conflict was intentional I believe. I don't remember all the details from the time. |
| }, | ||
| }, | ||
| } | ||
| patchBytes, err := json.Marshal(patchObj) |
There was a problem hiding this comment.
I am pretty sure this is wrong. The update was intentionally a consistent write to ensure that the passed logicalCluster and the one in etcd are the same resource version. Patching blindly with server side apply defeats the purpose of the whole approach.
|
/hold |
Summary
Currently, we have a lot of write conflicts on logicalcluster as 3 operators write to the same annotations.
This PR moves all of them to separate annoations so we can use SSA and field ownerships
What Type of PR Is This?
/kind cleanup
Related Issue(s)
Fixes #4089
Release Notes