Loyal-Young opened a new pull request, #11253:
URL: https://github.com/apache/rocketmq/pull/11253

   ### Which Issue(s) This PR Fixes
   
   - Fixes #11252.
   
   ### Brief Description
   
   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.
   
   Publish one latch when shutdown starts, synchronize target 
registration/start, and let all await calls observe the same completion state.
   
   Reproduction: Call new AsyncShutdownHelper().shutdown().await(...), or time 
out an await while a target is blocked, release the target, and await again.
   
   This is an independent bug fix based on develop 
`78b96bc5e21216cd7896efae08f90c5cde4cae53`, not stacked on the other 
contributions. It changes one implementation and adds one regression test file; 
no new protocol or public API is introduced.
   
   ### How Did You Test This Change?
   
   - The bug-specific regression fails against the unmodified implementation.
   - On this independent branch, JDK 8 / Maven 3.9.9: 
`AsyncShutdownHelperLifecycleTest` — 3 tests passed, zero failures/errors/skips.
   - Command: `mvn -pl common -am -Dspotbugs.skip=true -Djacoco.skip=true 
-Dsurefire.failIfNoSpecifiedTests=false -Dtest=AsyncShutdownHelperLifecycleTest 
test`.
   - The combined candidate changes also pass the complete common-module suite: 
284 tests, zero failures/errors/skips.
   - Maven Checkstyle passed; `git diff --check` passed. Local runs disable 
JaCoCo and SpotBugs; this does not claim that upstream GitHub Actions have run 
or passed.
   


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