Repository navigation
Conversation
Aias00
left a comment
There was a problem hiding this comment.
Reviewed f256d35.
The changed log sites use delivery metadata rather than token/configuration/handle/frame contents, and the Admin WebSocket path no longer reparses and serializes a payload solely for DEBUG logging. Real credentials still reach the authentication/synchronization code, and the forwarding path is untouched.
The targeted log-capture and delivery regressions pass. I inspected the failed CI jobs: the Dubbo job failed resolving org.apache:apache:pom:21 with Maven Central HTTP 429, while the Kubernetes job stopped because its local example image was missing. I have not attributed either to this logging change; the required jobs still need successful reruns before merge.
Targeted test report: 194 cases, 0 failures, 0 errors, 0 skipped.
Validation used ./mvnw, Amazon Corretto 21 and project target Java 17. Targeted Checkstyle, separately executed Apache RAT and git diff --check pass. No full-repository or Docker E2E pass is claimed; required CI must succeed before merge.
Fixes #8220.
Problem
Configuration synchronization logs operational credentials: full plugin/selector/rule configuration and handles at
INFO, the accepted Admin access token, changedConfigData, AI proxy keys, raw WebSocket frames and the Admin-side WebSocket payload. Log readers or aggregation/export copies can obtain credentials; lowering these messages toDEBUGwould not fix the exposure.Change
config/handleJSON. Subscription and snapshot error paths log the data class/type plus the exception, not the serialized DTO.md5/modify-time/item count, and payload size (md5only whileDEBUGis enabled). Listener responses log size rather than the body.DEBUGmessage; the existing bounded group/event/namespace/size line remains. AI proxy-key updates log selector/namespace/enabled instead of the key.DEBUG, andDataChangedEventlogging no longer serializes the event source.Tests
DEBUGadds no payload diagnostic and that no secret is emitted; the old payload masking helper and its direct test are removed.PluginData#getConfig, so a disabled/unconfigured log path cannot re-introduce DTO serialization.Verification
Checkstyle clean on the touched modules. No measurable hot-path change: only configuration/sync log statements changed, removing serialization rather than adding work;
md5is computed only whenDEBUGis enabled.