PoiBlackTea opened a new pull request, #1123:
URL: https://github.com/apache/yunikorn-core/pull/1123

   ### Description
   Fix flaky unit test TestServiceStartStopInternal in pkg/events.
   
   #### Problem:                                                                
                                                                        
       `eventPublisher.stop()` signals termination asynchronously. The test 
previously relied on a hardcoded `time.Sleep(10ms)` and sampled global 
`runtime.NumGoroutine()`.  Because `stop()` does not block until exit, 
unreleased goroutines or timing variations cause process-level 
`runtime.NumGoroutine()` checks to fail (e.g., `2 != 3` or `3 != 2`). Removing 
`time.Sleep` consistently reproduces these flaky assertion failures under 
`-race` mode.                         
                                                                                
                                                                            
   #### Fix:                                                                    
                                                                        
   
   - Track exact publisher goroutines (`(*eventPublisher).start.func1`) using 
`runtime.Stack`. 
   - Wait for background goroutines to drain (`count == 0`) before running test 
steps. 
   - Replace fixed sleep with `common.WaitForCondition` for deterministic 
goroutine count assertions.
   
   ### Type of change
   Please delete options that are not relevant.
   
   - [ ] Bug Fix
   - [X] Improvement
   - [ ] Feature
   - [ ] Refactoring
   - [ ] Documentation
   
   ### Jira issue
   Jira ID : https://issues.apache.org/jira/browse/YUNIKORN-3343
   
   - [ ] I have created a Jira issue for this pull request.
   - [X] The Jira ID is part of the title of this pull request.
   
   ### AI Tooling
   If an AI tool was used:
   - [X] The PR includes the phrase "Generated by Antigravity IDE", where 
Antigravity IDE is the name of the AI tool used.
   - [X] My use of AI contributions follows the ASF legal policy.
   
   Check https://www.apache.org/legal/generative-tooling.html for details.
   
   ### How has this been tested?
   - [ ] New unit tests were added to cover new or changed code paths.
   - [X] `make test_all` was run, and no failures reported.
   - [ ] A pull request will be opened for new e2e tests 
(apache/yunikorn-k8shim repository).
   
   ### Questions:
   - [ ] The change needs documentation, a pull request for 
apache/yunikorn-site repository will be created.
   - [ ] There is breaking changes for older versions: jira is tagged with 
`release-notes` label.
   - [ ] The licenses files needs to be updated.
   
   ### Screenshots or other details
   N/A


-- 
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