Aias00 opened a new issue, #10766:
URL: https://github.com/apache/rocketmq/issues/10766

   ### Before Creating the Bug Report
   
   - [x] I have confirmed this problem is not already covered by an existing 
issue or open pull request.
   
   ### Runtime platform environment
   
   RocketMQ Proxy with gRPC telemetry clients.
   
   ### RocketMQ version
   
   develop branch
   
   ### JDK Version
   
   N/A
   
   ### Describe the Bug
   
   `GrpcClientChannel` registers response futures before writing telemetry 
commands for remote diagnostic/admin operations. If the telemetry observer is 
already unavailable, or if `observer.onNext()` fails before the command is 
delivered, `writeTelemetryCommand()` only logs and returns.
   
   The registered nonce remains in `GrpcChannelManager.resultNonceFutureMap` 
until the periodic timeout scanner eventually completes it with `SYSTEM_BUSY`.
   
   Affected flows include:
   
   - `processGetConsumerRunningInfo()` when thread-stack collection is requested
   - `processConsumeMessageDirectly()`
   
   ### Steps to Reproduce
   
   1. Register a gRPC client channel.
   2. Trigger a diagnostic command such as consumer running info with 
`jstackEnable=true`.
   3. Make the telemetry observer unavailable or make `observer.onNext()` throw.
   4. Observe that the response future remains pending until the relay timeout 
scan runs.
   
   ### What Did You Expect to See?
   
   When telemetry dispatch fails locally, the registered nonce should be 
removed and the waiting response future should complete immediately with an 
error result.
   
   ### What Did You See Instead?
   
   The response future stays pending until the periodic timeout cleanup fires.
   
   ### Additional Context
   
   This is related to the Proxy Admin/runtime diagnostics work: admin calls 
should fail fast when the gRPC telemetry stream is not writable, instead of 
waiting for the full relay timeout.
   


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