Loyal-Young opened a new issue, #11252:
URL: https://github.com/apache/rocketmq/issues/11252

   ### Before Creating the Bug Report
   
   - [x] I inspected the current develop code and searched related issues/open 
pull requests.
   
   ### Summary
   
   AsyncShutdownHelper.shutdown() only checks a flag that is set by await(), so 
repeated shutdown calls can launch every target again and replace the 
completion latch. An empty target list leaves the latch null, and a timed-out 
await permanently prevents later awaits.
   
   ### Steps to Reproduce
   
   Call new AsyncShutdownHelper().shutdown().await(...), or time out an await 
while a target is blocked, release the target, and await again.
   
   ### Expected Behavior
   
   Publish one latch when shutdown starts, synchronize target 
registration/start, and let all await calls observe the same completion state.
   
   ### Environment / Additional Context
   
   - Reproduced against develop commit 
`78b96bc5e21216cd7896efae08f90c5cde4cae53`.
   - Regression test: `AsyncShutdownHelperLifecycleTest`.
   - The regression fails before the fix and passes afterward on JDK 8.
   - Proposed change is limited to the existing implementation; no protocol or 
new API is introduced.
   
   


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