fix: summarize ClientActivity telemetry and settings logs - #10717
Conversation
Review by github-manager-botSummaryThis PR replaces raw Changes Reviewed
Assessment✅ Correctness — Logic is correct. Null check and optional field guards are properly implemented. ✅ Performance — No concerns. Debug-level logging, lightweight summary method. ✅ Tests — Good coverage. Test verifies both producer and consumer settings summaries exclude resource names, and null input returns "null". ✅ Compatibility — No public API changes. Package-private static method. SuggestionSame observation as #10721 and #10719: the Overall: Looks good. 👍 |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #10717 +/- ##
=============================================
- Coverage 48.62% 48.50% -0.12%
+ Complexity 13692 13653 -39
=============================================
Files 1381 1381
Lines 101464 101486 +22
Branches 13187 13191 +4
=============================================
- Hits 49337 49227 -110
- Misses 46142 46240 +98
- Partials 5985 6019 +34 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
RockteMQ-AI
left a comment
There was a problem hiding this comment.
Review by github-manager-bot
Summary
Replaces raw Settings protobuf logging with compact summaries in ClientActivity (the cross-proxy sync path), preventing sensitive data leakage in logs during settings synchronization.
Findings
- [Info]
proxy/src/main/java/.../activity/ClientActivity.java— Clean change. ThesummarizeSettings()method is identical to the ones in #10721 and #10719. - [Info] Cross-PR duplication — Same
summarizeSettings()appears in 3 classes. If the summary format needs to include additional fields later (e.g., access type, subscription expressions), all 3 copies must be updated in sync. A shared utility would eliminate this risk. - [Info] Test coverage is comprehensive, including the
getAttributeLength()null-safety check.
Suggestions
- Consider a shared
SettingsUtilsorProxyLoggingUtilsclass to consolidate the duplicated summary logic.
Verdict
LGTM. Consistent sanitization across the proxy logging paths.
Automated review by github-manager-bot
RockteMQ-AI
left a comment
There was a problem hiding this comment.
Review by github-manager-bot
Summary
Replaces raw Settings protobuf in the "save client settings sync from other proxy" debug log with a summarizeSettings() summary.
Findings
- [Info] ClientActivity.java:93-101 —
summarizeSettings()implementation is identical to PRs #10721 and #10719. Same summarization logic, same fields. - [Info] ClientActivity.java:610 — Debug log correctly uses summary instead of full protobuf. The
channelInfois still logged in full which is fine for debug level. - [Info] Test coverage validates that sensitive data (like full subscription details) is not exposed in the summary.
Cross-repo Note
Third instance of the same summarizeSettings() method. After all three PRs merge, extracting to a shared utility class would be a good follow-up.
Automated review by github-manager-bot
RockteMQ-AI
left a comment
There was a problem hiding this comment.
Summary
Defensive fix with proper validation and test coverage. LGTM.
Automated review by github-manager-bot
809b45c to
5214e17
Compare
Summary
ClientActivitywith bounded diagnostic summaries.Validation
mvn -q -pl proxy -am -Dtest=ClientActivityTest -DfailIfNoTests=false testCloses #10716
Closes #10676