[ISSUE #11228] Bound forwarded Proxy Admin calls with per-call deadlines - #11229
Open
3219378872 wants to merge 1 commit into
Open
3219378872 wants to merge 1 commit into
3219378872 wants to merge 1 commit into
Conversation
Apply a per-call peer forwarding budget without shortening the broker or telemetry timeouts. Preserve shorter caller deadlines and keep cached peer channels reusable after a timeout. Fixes apache#11228
Author
|
The workflows for head Could a maintainer approve the fork workflows when reviewing this PR? The local JDK 8 reactor validation completed successfully with 110 tests, including the loopback gRPC regression described above. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which Issue(s) This PR Fixes
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 forwardedVerifyMessagecan 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-apissubmodule.mvn -B -ntp -pl proxy -am \ -Dtest=ProxyAdminForwarderTest,ProxyAdminGrpcServiceTest,ProxyAdminAuthInterceptorTest,AdminModelConverterTest,DefaultAdminServiceTest,ProxyConfigTest \ -Dsurefire.failIfNoSpecifiedTests=false testDEADLINE_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.