RockteMQ-AI commented on issue #10737: URL: https://github.com/apache/rocketmq/issues/10737#issuecomment-5149497966
**Issue Evaluation** Category: `type/bug` | Status: **Confirmed** The reported issue has been verified against the current codebase. **Root Cause:** All 19 async methods in `MqClientAdminImpl` use `remotingClient.invoke(...).thenAccept(...)` where the dependent stage returned by `thenAccept` is discarded. When the upstream remoting future completes exceptionally (timeout, connection failure, send failure), the `thenAccept` consumer is never invoked, and the separately-created result `CompletableFuture` handed to the caller is never completed — neither normally nor exceptionally. The same silent pending state occurs if the response handler/decoder throws inside the consumer. **Impact:** Callers of `MqClientAdmin` admin operations can block indefinitely on the returned future even though the remoting layer has already failed. The `timeoutMillis` parameter provides no observable completion at this API boundary under failure conditions. **Severity:** **High** — affects all 19 admin operations; can cause indefinite hangs in management tooling and operator scripts. **Suggested Fix Direction:** Attach a `whenComplete` bridge on the remoting future to propagate the upstream throwable to the result future, and wrap the existing response handler in a `try/catch` to complete the result exceptionally on handler failures. Applicable uniformly across all 19 methods without changing public interfaces or wire protocol. An automated fix proposal will be generated. Reply `/approve` to proceed with PR generation. --- *Automated evaluation by github-manager* -- 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]
