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

   ## Summary
   
   - complete the existing `ProxyChannel` processing future exceptionally for 
unsupported remoting command codes
   - include the unsupported request code in the failure for diagnosis
   - keep relay services untouched for commands that have no supported dispatch 
path
   - add a deterministic regression that requires the returned Netty future to 
finish with the expected cause
   
   ## Root cause
   
   `ProxyChannel.writeAndFlush` created a `processFuture` before dispatching a 
`RemotingCommand`, but its `default` switch branch only broke out of the 
switch. No producer remained that could complete the future, so the returned 
channel future stayed pending forever.
   
   The default branch now completes that same future with 
`UnsupportedOperationException`. This reports that the command was not 
delivered instead of falsely returning success or waiting for a response that 
cannot arrive.
   
   ## Validation
   
   - unmodified JDK 8 baseline: deterministic strengthened regression failed in 
5/5 isolated Maven processes
   - fixed regression: 20/20 isolated JDK 8 Maven processes
   - complete `proxy -am` reactor: 11/11 modules, 0 failures/errors
   - project Checkstyle: 0 violations
   - SpotBugs: 0 bug instances / 0 errors
   - Maven validate: passed
   - `git diff --check`: passed
   
   Fixes #10748
   
   


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