Dale Richardson created YUNIKORN-3369:
-----------------------------------------
Summary: AsyncRMCallback.UpdateAllocation's AssumePod retry blocks
the RM proxy event loop and cannot be interrupted by shutdown
Key: YUNIKORN-3369
URL: https://issues.apache.org/jira/browse/YUNIKORN-3369
Project: Apache YuniKorn
Issue Type: Bug
Components: shim - kubernetes
Reporter: Dale Richardson
Follow-up to YUNIKORN-3357 (PR #1061); burns down the leakcheck exemption
cache.(*AsyncRMCallback).UpdateAllocation.
{{AsyncRMCallback.UpdateAllocation}} retries {{AssumePod}} via
{{retry.OnError}} with a 30-step backoff, and it runs on the
{{RMProxy.handleRMEvents}} goroutine. The retry has no stop channel and no
context, so a pod that cannot be assumed blocks ALL RM event handling for the
length of the backoff and cannot be interrupted by shutdown — nothing the shim
or the core can stop reaches the loop.
Repro: {{TestAssumePodError}} (the surrounding code is YUNIKORN-3316).
Proposed fix: make the retry abort on shutdown (thread a context or stop
channel through it), then delete the exemption in
{{pkg/common/leakcheck/leakcheck.go}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]