[ 
https://issues.apache.org/jira/browse/YUNIKORN-3371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dale Richardson updated YUNIKORN-3371:
--------------------------------------
    Priority: Minor  (was: Major)

> DRA resource-slice tracker goroutine leaks in tests: created with an 
> uncancellable context and no shutdown handle
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: YUNIKORN-3371
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-3371
>             Project: Apache YuniKorn
>          Issue Type: Bug
>          Components: shim - kubernetes
>            Reporter: Dale Richardson
>            Priority: Minor
>              Labels: newbie
>
> Follow-up to YUNIKORN-3357 (PR #1061); burns down the one shared leakcheck 
> exemption
> k8s.io/dynamic-resource-allocation/resourceslice/tracker.(*Tracker).initInformers.func1.
> {{cache.NewContext}} and {{support.SharedDRAManager}} start the DRA 
> resource-slice tracker's sync monitor ({{tracker.StartTracker}}) with an 
> uncancellable context, and neither keeps a handle that a shutdown path can 
> reach to call {{Tracker.Stop()}}. The monitor's only two exits are therefore 
> unreachable — the context is never cancelled, and the informers it waits on 
> are never started so they never sync. Harmless in production, where a 
> {{Context}} is built once and lives for the process, but every test that 
> builds a {{Context}} leaks one such goroutine permanently.
> Proposed fix: create the tracker with a cancellable context, or give 
> {{Context}} a shutdown that calls {{Tracker.Stop()}}, then delete the shared 
> exemption.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to