-
Notifications
You must be signed in to change notification settings - Fork 40k
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
Automated cherry pick of #32807 #34038
Automated cherry pick of #32807 #34038
Conversation
This PR fixes the race condition in setting node statusUpdateNeeded flag in master's attachdetach controller. This flag is used to indicate whether a node status has been updated by the node_status_updater or not. When updater finishes update a node status, it is set to false. When the node status is changed such as volume is detached or new volume is attached to the node, the flag is set to true so that updater can update the status again. The previous workflow has a race condition as follows 1. updater gets the currently attached volume list from the node which needs to be updated. 2. A new volume A is attached to the same node right after 1 and set the flag to TRUE 3. updater updates the node attached volume list (which does not include volume A) and then set the flag to FALSE. The result is that volume A will be never added to the attached volume list so at node side, this volume is never attached. So in this PR, the flag is set to FALSE when updater tries to get the attached volume list (as in an atomic operation). So in the above example, after step 2, the flag will be TRUE again, in step 3, updater does not set the flag if updates is sucessful. So after that, flag is still TRUE and in next round of update, the node status will be updated. This PR also changes a unit test due to the workflow changes
The 'parent' PR of a cherry-pick PR must have one of the "release-note" or "release-note-action-required" labels, or this PR must follow the standard/parent release note labeling requirement. (release-note-experimental must be explicit for cherry-picks) |
Automatic merge from submit-queue |
Commit found in the "release-1.4" branch appears to be this PR. Removing the "cherrypick-candidate" label. If this is an error find help to get your PR picked. |
…ck-of-#32807-upstream-release-1.4 Automatic merge from submit-queue Automated cherry pick of kubernetes#32807 Cherry pick of kubernetes#32807 on release-1.4.
Cherry pick of #32807 on release-1.4.
This change is