unbridled-41 opened a new issue, #5957:
URL: https://github.com/apache/rocketmq-dashboard/issues/5957
### Studio Version
branch: `rocketmq-studio` @ `7e7aa344` (the revision verified; the branch is
based on it)
deployed as: not required to reproduce
### Runtime Environment
Reproduced with the backend tests (`cd server && mvn -o -B -ntp test
-Dtest='ProxyConsumerResolverTest'`).
### Connected RocketMQ Cluster
A gRPC (proxy) cluster with more than one proxy and a consumer group whose
clients are spread across them.
### Describe the Bug
`ProxyConsumerResolver.resolveConsumerConnectionStatus` asks each discovered
proxy for the group's connections and returns as soon as one answers:
```java
if (result.connection() != null) {
return ConsumerConnectionResolution.available(result.connection());
}
```
Each proxy knows only the clients connected to it, so the group's connection
set, subscription table and channel list were reported from a single proxy as
if it were the whole group. Consumers: the group list (`instances`,
`onlineInstances`), the group detail read and the AI group-detail verdict. The
sibling client scan in the same package already unions every proxy
(`RocketMQClientProvider.findConsumerConnections`), and its test asserts that a
group with clients on two proxies yields both rows.
### Steps to Reproduce
1. Connect two clients of the same group to different proxies.
2. Open the consumer-group page (or the AI group detail).
3. Only one proxy's client appears, and the count matches that subset.
Red before the fix: the new resolver test sees only the first proxy's
client and topic.
### What Did You Expect to See?
The union of what the proxies report, like the client-list read.
### What Did You See Instead?
The first answering proxy's subset, presented as the group.
### Evidence
- `server/.../provider/apache/ProxyConsumerResolver.java`
(`resolveConsumerConnectionStatus`),
`server/.../provider/apache/RocketMQClientProvider.java` (the union sibling),
`server/.../provider/apache/RocketMQMetadataProvider.java` (the group
list/detail consumers).
- `cd server && mvn -o -B -ntp test -Dtest='ProxyConsumerResolverTest'` -
the new case fails before the fix.
### Impact
A gRPC group's online clients, subscribed topics and instance rows are
under-reported - a plausible-looking smaller number rather than "unknown" - and
the AI health verdict reasons on that subset.
### Acceptance Criteria
- The resolver merges every proxy's answer (connections deduped,
subscription tables unioned), keeps the offline-vs-unavailable distinction, and
a regression test pins the union.
**Corresponding PR:** #ISSUEPR#
--
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]