apache / apache/rocketmq

[Bug] Proxy gRPC telemetry exception logs full client TelemetryCommand

Open Beginner friendly
#10,676 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.