RockteMQ-AI commented on issue #10766:
URL: https://github.com/apache/rocketmq/issues/10766#issuecomment-5162893483

   **Issue Evaluation**
   
   Category: `type/bug` | Status: **Confirmed**
   
   The reported issue has been verified against the current codebase.
   
   **Root Cause:** `GrpcClientChannel.writeTelemetryCommand()` catches 
`StatusRuntimeException` / `IllegalStateException` from `observer.onNext()` and 
only logs + clears the observer. However, callers (e.g. 
`processGetConsumerRunningInfo()`, `processConsumeMessageDirectly()`) register 
a nonce in `GrpcChannelManager.resultNonceFutureMap` before dispatching. When 
the write fails, the registered future is never completed and remains pending 
until the periodic timeout scanner fires with `SYSTEM_BUSY`.
   
   **Impact:** Proxy admin/diagnostic calls (consumer running info, direct 
consume) hang until relay timeout when the gRPC telemetry stream is broken.
   
   **Severity:** medium
   
   **Suggested fix:** In `writeTelemetryCommand()`, when the write fails, the 
method should signal the failure back to the caller so the registered 
nonce/future can be cleaned up immediately, or the cleanup should happen within 
the catch block.
   
   An automated fix proposal will be generated. Reply `/approve` to proceed 
with PR generation.
   
   ---
   *Automated evaluation by github-manager-bot*


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