[Bug] Avoid logging full system message data on proxy sync failures
- Dominant language
- Java
- Stars
- 22.6k
- Forks
- 12k
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 27
Description
### Problem
`AbstractSystemMessageSyncer.sendSystemMessage` logs the full `data` object when sending a system broadcast message fails. The serialized system message payload can contain client/runtime metadata, so failure logs should avoid dumping the whole object.
This is similar to the recent telemetry-command log hardening work: the proxy should preserve useful diagnostics without exposing complete payload objects in error logs.
### Evidence
`proxy/src/main/java/org/apache/rocketmq/proxy/service/sysmessage/AbstractSystemMessageSyncer.java` currently logs:
- `send system message failed. data: {}, topic: {}` when async send throws
- `send system message failed. data: {}, topic: {}, sendResult:{}` when the send result is not OK
- the same full `data` object in the outer catch block
### Expected behavior
The error log should record a compact summary such as data type and topic, and avoid rendering the complete system message object. This keeps operational diagnostics while reducing accidental metadata/payload exposure in proxy logs.
### Scope
This is in the Proxy / Studio track scope for safer Proxy Admin/runtime diagnostics. The proposed fix is a small logging hardening change and does not change system message serialization or delivery behavior.
Contributor guide
Research direction
Start in proxy/src/main/java/org/apache/rocketmq/proxy/service/sysmessage/AbstractSystemMessageSyncer.java at AbstractSystemMessageSyncer.sendSystemMessage and inspect the three failure logging paths. Replace full data rendering with a compact type/topic summary, then verify that error logs no longer expose the complete system message object and that serialization and delivery behavior remain unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100