ai-yang opened a new pull request, #10740:
URL: https://github.com/apache/rocketmq/pull/10740

   ### Which Issue(s) This PR Fixes
   
   - Fixes #10739
   
   ### Brief Description
   
   `FutureUtils.appendNextFuture` now retains the stage returned by 
`whenCompleteAsync` and propagates completion-task scheduling failures to the 
future returned to the caller.
   
   The Proxy producer and consumer processor executors now use an explicit 
`AbortPolicy`. This is required because the shared default 
`DiscardOldestPolicy` can silently discard completion tasks during shutdown or 
saturation, leaving no rejection for `FutureUtils` to propagate. Other RocketMQ 
thread pools keep their existing rejection behavior.
   
   Together, these changes ensure that Proxy request futures reach an 
exceptional terminal state instead of remaining pending when processor 
completion work is rejected.
   
   ### How Did You Test This Change?
   
   - On the unmodified JDK 8 baseline, the helper-level and real processor-pool 
regressions each failed at the expected pending-future assertion in 5/5 runs.
   - After the fix, both regressions passed together in 20/20 consecutive runs.
   - Full JDK 8 `proxy -am` test reactor: all 11 modules succeeded; Proxy ran 
304 tests with 0 failures and 0 errors.
   - Checkstyle and SpotBugs passed throughout the full reactor.
   - Explicit `common,proxy` Maven `validate`: passed with 0 Checkstyle 
violations.
   - `git diff --check`: 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