tigerquoll commented on PR #1124:
URL: https://github.com/apache/yunikorn-core/pull/1124#issuecomment-5569563539

   Rebased onto master (`aa59599`) and pushed. Two of the exemptions have been 
retired because their root causes landed upstream in the meantime.
   
   **Retired**
   
   - `EventStreaming.CreateEventStream.func1` — this covered the two bare 
`consumer <- event` sends. Both are now selectable on the stop channels after 
YUNIKORN-3364 (#1133) and YUNIKORN-3436 (#1141), both resolved for 1.10.0. 
@wilfred-s, this was your "should be fixed on the core side before we turn this 
check on" — the forwarder no longer outlives a test binary, so the entry is 
gone rather than argued down.
   - `ClusterContext.notifyRMNewAllocation` — no longer observed at all. 
Removed so a recurrence fails the run instead of being silently ignored. 
YUNIKORN-3365 stays open for the underlying shutdown ordering.
   
   **How that was established**
   
   Rather than reading the diff and assuming, I removed *every* exemption and 
ran the full suite (`-race -tags deadlock`), then repeated the leak-prone 
packages. Tally of goroutines that actually outlive a test binary, over 6 runs:
   
   | top function | occurrences |
   | --- | --- |
   | `EventSystemImpl.StartServiceWithPublisher.func1` | 83 |
   | `partitionManager.cleanRoot` | 65 |
   | `partitionManager.cleanExpiredApps` | 65 |
   | `eventPublisher.start.func1` | 28 |
   | `UserGroupCache.run` | 5 |
   | `EventStreaming.CreateEventStream.func1` | 0 |
   | `ClusterContext.notifyRMNewAllocation` | 0 |
   
   With the five remaining entries the suite is green: 20 packages, exit 0. 
Notably `pkg/scheduler/tests` now passes with *zero* exemptions.
   
   **Still exempted**
   
   All five remaining entries are the "core services are not restartable 
in-process" family and are tracked by YUNIKORN-3370, which is the single 
follow-up JIRA you asked for. They are tests calling `StartService()` / 
`NewClusterContext()` without a matching `Stop()`, plus the two 
`partitionManager.Run()` goroutines. The list is meant to be burned down as 
3370 progresses.
   
   **CI**
   
   `build` passes. `e2e-tests` fails on `*AsyncRMCallback does not implement 
... (missing method PreFilterPredicates)` — a shim-side build break that is 
failing identically on every open core PR right now, unrelated to this change. 
`codecov/patch` reports 0% patch coverage, which is inherent to a 
`TestMain`-only change.
   
   Generated by the Author with assistance from Claude Code.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to