-
Notifications
You must be signed in to change notification settings - Fork 38.7k
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
scheduler: fix data race after binding failure #119729
scheduler: fix data race after binding failure #119729
Conversation
When binding has failed, `Done` gets called by `handleBindingCycleError`. Calling it again is at best redundant and worse, suffers from a data race: - the `assumedPodInfo` is placed in the backoff queue - an event causes the `Pod` pointer to get updated in it - reading `assumedPodInfo.Pod.UID` races with that write This race was found with`go test -race`.
Please note that we're already in Test Freeze for the Fast forwards are scheduled to happen every 6 hours, whereas the most recent run was: Wed Aug 2 04:16:26 UTC 2023. |
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The Instructions 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/test-infra repository. |
/lgtm |
LGTM label has been added. Git tree hash: 3f4503754d40e1b9b8c8ecde9eb87fe09d15538a
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: alculquicondor, pohly The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/milestone v.128 |
@ahg-g: The provided milestone is not valid for this repository. Milestones in this repository: [ Use In response to this:
Instructions 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/test-infra repository. |
/milestone v1.28 |
What type of PR is this?
/kind bug
What this PR does / why we need it:
When binding has failed,
Done
gets called byhandleBindingCycleError
. Calling it again is at best redundant and worse, suffers from a data race:assumedPodInfo
is placed in the backoff queuePod
pointer to get updated in itassumedPodInfo.Pod.UID
races with that writeThis race was found with
go test -race
.Which issue(s) this PR fixes:
Fixes #119712
Special notes for your reviewer:
Does this PR introduce a user-facing change?