3219378872 opened a new pull request, #11229:
URL: https://github.com/apache/rocketmq/pull/11229

   ### Which Issue(s) This PR Fixes
   
   - Fixes #11228
   
   ### Brief Description
   
   Forwarded Proxy Admin RPCs currently have no deadline when the original 
caller supplies none, so an unresponsive owning proxy can leave the request 
pending indefinitely.
   
   Apply a fresh deadline to each invocation while retaining the cached peer 
channel/stub. Add `grpcAdminServerForwardTimeoutMillis` (default: 15000 ms) as 
the complete peer-call budget. Keep the existing per-broker timeout separate 
because a forwarded `VerifyMessage` can perform broker queries followed by a 
telemetry relay. A shorter incoming gRPC deadline still takes precedence.
   
   Update the English and Chinese configuration documentation.
   
   ### How Did You Test This Change?
   
   Temurin 8u504-b01, Maven 3.9.9, Linux amd64; initialized the pinned 
`rocketmq-apis` submodule.
   
   ```bash
   mvn -B -ntp -pl proxy -am \
     
-Dtest=ProxyAdminForwarderTest,ProxyAdminGrpcServiceTest,ProxyAdminAuthInterceptorTest,AdminModelConverterTest,DefaultAdminServiceTest,ProxyConfigTest
 \
     -Dsurefire.failIfNoSpecifiedTests=false test
   ```
   
   - 110 tests passed, with no failures, errors or skips. The normal reactor 
checks also passed.
   - Red/green regression: on the unmodified baseline, the new real-transport 
test failed because the peer received no deadline; the shorter-caller-deadline 
control already passed.
   - The new tests run the production forwarder against a real loopback Netty 
gRPC server. They verify cancellation of a stalled peer, `DEADLINE_EXCEEDED`, 
reuse of the cached peer after a timeout, and preservation of a shorter caller 
deadline. The consumer directory is mocked; this is not a full broker-cluster 
deployment test.
   
   AI assisted the analysis, implementation and tests; I reviewed the change 
and ran the validation above.
   


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