iloveeyjafjalla opened a new issue, #6872:
URL: https://github.com/apache/rocketmq-dashboard/issues/6872

   ## Summary
   
   The Producer page's connection summary reports a healthy cluster as at risk: 
`DUPLICATE_CLIENT_ID`, readiness `WARNING` (存在风险) and a 「重复出现的客户端 ID」 tag, for 
connections that are entirely normal.
   
   ## Why
   
   - `ProducerConnectionSummaryVO.duplicateClientIds` counts **rows** per 
client id and flags anything above one 
(`server/src/main/java/org/apache/rocketmq/studio/cluster/client/ProducerConnectionSummaryVO.java:100-111`);
 any entry sets the warning and the WARNING readiness (`:121-122`, `:139-142`).
   - The producer scan keeps one row per producer **group** — the dedupe key is 
`clusterId  group  clientId  remoteIP` (`RocketMQClientProvider.java:301-307`) 
— and, unlike the consumer path (which skips system groups at `:353`), the 
producer group collection applies no such filter (`collectProducerGroups`, 
`:310-324`).
   - A Java producer is therefore present twice at the same address: its own 
group plus the shared inner producer group its client registers.
   - The console's client diagnostics define the colliding case differently: 
`CLIENT_ID_COLLISION` is raised only when one id appears at **more than one 
address** (`web/src/utils/clientConnectionDiagnostics.ts:246-263`). The two 
surfaces disagree about the same cluster, and the existing test pins the 
different-address case only 
(`ProducerConnectionSummaryVOTest.fromShouldReportMixedVersionsAndDuplicateClients`).
   
   ## Impact
   
   An ordinary Java-producer cluster shows a duplicate-client warning and a 
WARNING readiness that cannot be told apart from the real case the warning 
exists for (two JVMs sharing one `instanceName`). Operators are sent looking 
for a configuration conflict that is not there.
   
   ## Reproduction
   
   
`server/src/test/java/org/apache/rocketmq/studio/cluster/client/ProducerConnectionSummaryVOTest.java`
 → `fromShouldNotFlagOneClientAsDuplicateAcrossItsGroups` feeds two rows with 
the same client id at the same address:
   
   ```
   expect(summary.getDuplicateClientIds()).isEmpty()
     Expecting empty but was: ["producer-a"]
   ```
   
   ## Expected
   
   An id seen at more than one address is still a duplicate; an id seen once 
per group at a single address is not.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to