You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@yunikorn.apache.org by "Dian-Xuan Yang (Jira)" <ji...@apache.org> on 2026/10/02 13:25:00 UTC

[jira] [Created] (YUNIKORN-3487) Cancel pod condition updates on shim shutdown

Dian-Xuan Yang created YUNIKORN-3487:
----------------------------------------

             Summary: Cancel pod condition updates on shim shutdown
                 Key: YUNIKORN-3487
                 URL: https://issues.apache.org/jira/browse/YUNIKORN-3487
             Project: Apache YuniKorn
          Issue Type: Sub-task
          Components: shim - kubernetes
            Reporter: Dian-Xuan Yang
            Assignee: Dian-Xuan Yang


{{Context.updatePodCondition()}} calls {{KubeClient.UpdateStatus()}}, which runs its Get and UpdateStatus under {{context.Background()}} inside {{retry.RetryOnConflict}} (site 8 in the YUNIKORN-3437 audit).

The call chain is driven synchronously from the core's {{inspectOutstandingRequests()}} loop, one ask at a time:
{{AsyncRMCallback.UpdateContainerSchedulingState()}} -> {{Context.HandleContainerStateUpdate()}} -> {{Context.updatePodCondition()}} -> {{KubeClient.UpdateStatus()}}

{{AsyncRMCallback}} already holds {{stopCtx}} (YUNIKORN-3369), but it is not passed down, so a slow API server keeps this path blocked after shutdown has been signalled.

Thread {{stopCtx}} through:
* {{KubeClient.UpdateStatus(ctx, pod)}} in {{pkg/client/interfaces.go}}, {{pkg/client/kubeclient.go}} and {{pkg/client/kubeclient_mock.go}}
* {{Context.HandleContainerStateUpdate()}} and {{Context.updatePodCondition()}} in {{pkg/cache/context.go}}
* {{AsyncRMCallback.UpdateContainerSchedulingState()}} passes {{callback.stopCtx}}

{{Task.UpdateTaskPodStatus()}} (site 3) keeps {{context.Background()}}; its cancellation is left to that site's own issue.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: issues-help@yunikorn.apache.org