[Bug] Proxy gRPC telemetry exception logs full client TelemetryCommand
- Dominant language
- Java
- Stars
- 22.6k
- Forks
- 12k
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 27
Description
### Before Creating the Bug Report
- [x] I have searched the existing issues and pull requests.
### Runtime platform environment
All platforms.
### RocketMQ version
develop branch.
### JDK Version
Not applicable.
### Describe the Bug
`ClientActivity.processTelemetryException` logs the full inbound gRPC `TelemetryCommand` when processing a client telemetry request fails with an internal error:
```java
log.warn("process client telemetryCommand failed. request:{}", request, t);
```
Client telemetry requests can include nested protobuf messages and runtime metadata. Logging the full protobuf request can expose more client-side telemetry data than needed for diagnosis and can also produce very large warning logs.
This is separate from #10672, which covers outbound telemetry write failures in `GrpcClientChannel`. This issue covers inbound telemetry request processing failures in `ClientActivity`.
### Steps to Reproduce
1. Send a gRPC telemetry request that triggers an internal exception in `ClientActivity.telemetry` processing.
2. Observe the warning log emitted by `processTelemetryException`.
3. The current log serializes the complete `TelemetryCommand` request.
### What Did You Expect to See?
The warning log should keep useful diagnostic fields, such as command type, status code, nonce, client type, and pub/sub case, without logging the complete protobuf request.
### What Did You See Instead?
The warning log prints the full `TelemetryCommand` object as `request:{}`.
### Additional Context
This is a small Proxy gRPC diagnostics hardening issue. It aligns with the Proxy Admin / runtime diagnostics track by making telemetry error logs safe and bounded while preserving enough context for troubleshooting.
Contributor guide
Research direction
Start in ClientActivity.processTelemetryException and trace the ClientActivity.telemetry processing path for inbound gRPC requests. Review the current warning log and the diagnostic fields named in the issue. Done means internal processing failures retain useful bounded context without serializing the complete TelemetryCommand request.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- grpc, java
- Domain
- api, backend, observability
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100