You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by "iloveeyjafjalla (via GitHub)" <gi...@apache.org> on 2026/10/10 18:29:34 UTC

[I] [Bug] Normal multiple-broker connections are reported as critical Client ID collisions [rocketmq-dashboard]

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

   # [Bug] Normal connections to multiple brokers are reported as critical Client ID collisions
   
   ### Studio Version
   
   `rocketmq-studio@5e4c39b053c35a5598cc79ff331b8a54e649d7b1`.
   
   ### Runtime Environment / Build Toolchain
   
   Reproduced with the existing frontend unit and real `ClientsPage` component tests on Windows 11, Node 24.15.0 and npm 11.12.1. The component test supplies controlled service results matching the production provider's record shape. No live broker deployment or customer incident is claimed.
   
   ### Connected RocketMQ Cluster
   
   The affected path is the Apache Remoting connection inventory for a client connected to multiple brokers. The production data flow is established from RocketMQ 5.5.0 and Studio source; the automated reproduction uses service fixtures.
   
   ### Describe the Bug
   
   `analyzeClientConnections` treats any two distinct full socket addresses for one client ID as a critical `CLIENT_ID_COLLISION`. A normal client process uses the same client ID while connecting to different brokers, and its TCP source port can differ on each connection. This is not evidence of a client ID clash.
   
   The production chain is:
   
   - [ClientConfig.buildMQClientId](https://github.com/apache/rocketmq/blob/rocketmq-all-5.5.0/client/src/main/java/org/apache/rocketmq/client/ClientConfig.java#L109) builds an ID from client IP and instance name, independent of socket source ports.
   - [MQClientInstance.sendHeartbeatToAllBroker](https://github.com/apache/rocketmq/blob/rocketmq-all-5.5.0/client/src/main/java/org/apache/rocketmq/client/impl/factory/MQClientInstance.java#L621) sends the same heartbeat identity to the discovered brokers.
   - [AdminBrokerProcessor](https://github.com/apache/rocketmq/blob/rocketmq-all-5.5.0/broker/src/main/java/org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java#L1663) reports each connection's remote socket address. Studio's `RocketMQClientProvider` preserves those addresses in its union of broker connection records.
   
   ### Steps to Reproduce
   
   1. Query the client connections inventory for a normal client connected to two brokers.
   2. The same client ID can appear with addresses such as `192.0.2.10:51001` and `192.0.2.10:51002`.
   3. Open Cluster → Clients and inspect the connection diagnostics.
   
   The equivalent deterministic component regression feeds those two Producer/Remoting records through the existing `listConnections` service boundary, waits for both addresses to render, and checks the diagnostics panel. On unchanged production code the panel reports a critical collision. The utility returns score 76 with `CLIENT_ID_COLLISION` as its only issue.
   
   ### Expected / Actual
   
   Expected: a different source port on the same host should not by itself report a critical client ID collision. Records on genuinely different hosts should retain the existing possible-collision warning.
   
   Actual: ordinary multiple-broker connections are reported as a high-risk client ID collision.
   
   ### Validation and Scope
   
   The expanded utility/page suite against old production code reports 32/36 tests passing and four expected failures: IPv4, IPv4 socket notation, bracketed IPv6, and the real page diagnostics regression. The three related test files pass 37/37 after the proposed minimal fix.
   
   The fix compares host portions only for collision classification. Full addresses, record identities, exact-duplicate checks, evidence, and inventory counts stay intact. Unrecognized address formats retain the existing comparison; ambiguous bare IPv6 and hostname aliases are not newly interpreted. Existing aggregated fields cannot distinguish two deliberately conflicting processes on the same host from normal multiple-broker connections, so this is a correction to a heuristic, not a comprehensive identity guarantee.
   
   ### Before Creating the Bug Report
   
   - [x] Searched both open and closed issues/PRs and inspected relevant current PR head diffs.
   - [x] This is a Studio frontend diagnostics defect in this repository.
   - [x] The reproduction is based on the exact `rocketmq-studio` commit above.
   
   PR #5570 changes diagnostic translations, PR #6088 removes unavailable connection-time fields, and historical #4611/#4617 concern resource rollups; their actual diffs do not fix this socket-port collision test. No dedicated tracking issue or implementing fix was found in the audit snapshot.
   
   AI assistance: OpenAI Codex was used to investigate, implement and run automated checks, including a separate automated code review. No human or maintainer approval is claimed.
   
   ### Implementation PR
   
   The implementation PR will be linked after publication.
   


-- 
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: commits-unsubscribe@rocketmq.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Bug] Normal multiple-broker connections are reported as critical Client ID collisions [rocketmq-dashboard]

Posted by "lizhimins (via GitHub)" <gi...@apache.org>.
lizhimins closed issue #6204: [Bug] Normal multiple-broker connections are reported as critical Client ID collisions
URL: https://github.com/apache/rocketmq-dashboard/issues/6204


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Bug] Normal multiple-broker connections are reported as critical Client ID collisions [rocketmq-dashboard]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] closed issue #6204: [Bug] Normal multiple-broker connections are reported as critical Client ID collisions
URL: https://github.com/apache/rocketmq-dashboard/issues/6204


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Bug] Normal multiple-broker connections are reported as critical Client ID collisions [rocketmq-dashboard]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on issue #6204:
URL: https://github.com/apache/rocketmq-dashboard/issues/6204#issuecomment-6243632212

   This issue has been automatically closed because there has been no activity for 7 days. If you believe this issue is still relevant, please reopen it with updated information.


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Bug] Normal multiple-broker connections are reported as critical Client ID collisions [rocketmq-dashboard]

Posted by "lizhimins (via GitHub)" <gi...@apache.org>.
lizhimins commented on issue #6204:
URL: https://github.com/apache/rocketmq-dashboard/issues/6204#issuecomment-6441509995

   Resolved by #6851 (merged into `rocketmq-studio` as `da2513c9f`). The fix was originally submitted in #6203 and consolidated into that commit.
   
   (Reopening first to correct the state: this had been closed by the stale bot as `not planned`, but the defect is real and is fixed by the commit above.)


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org