unbridled-41 opened a new pull request, #5962: URL: https://github.com/apache/rocketmq-dashboard/pull/5962
### Which Issue(s) This PR Fixes Fixes #5961 ### Problem / Evidence `GroupLiveSnapshot` carried the instance list and lag but not the subscription table, so every listed Apache group shipped the VO default: ``` RocketMQMetadataProviderTest#listConsumerGroupsPageShouldCarryTheGroupsSubscribedTopicsTest Expecting actual: [] ... ``` The detail read fills the same field from the same connection (`RocketMQAdminClientImpl.getConsumerGroup`), and the web draws the 订阅 Topic 数 card, the topic tags and the CSV column from the *list* row (the page never calls the detail endpoint), while the drawer's own subscription tab fetches the topics separately - so the panel contradicted itself. ### Root cause / Fix A field the snapshot could not carry. Add `subscribedTopics` to `GroupLiveSnapshot`, fill it from the connection's subscription table in `enrichGroupLiveStats` (sorted, blanks filtered), and copy it onto the VO - leaving the caller's value in place when the enrichment was cut short by the batch deadline (an empty snapshot list means "not read"). ### Priority and scoring **PRIORITY 62** — impact 20/40 (a deterministic wrong count and an empty list for every group, in the drawer, the CSV and the AI detail), blast radius 14/20 (every Apache group row), reproducibility 20/20 (deterministic, pinned by the new test), maintenance value 8/20. **FIX_CONFIDENCE 80** — no new RPC: the connection is already fetched for the instance list. ### Tests `cd server && mvn -o -B -ntp test -Dtest='RocketMQMetadataProviderTest'` -> `Tests run: 49, Failures: 0, Errors: 0`; `-Dtest='RocketMQMetadataProviderTest,MetadataServiceTest,ConsumerGroupControllerTest'` -> `Tests run: 131, Failures: 0, Errors: 0`. | Test | Before | After | |---|---|---| | `listConsumerGroupsPageShouldCarryTheGroupsSubscribedTopicsTest` | FAIL (empty list) | PASS (`["orders"]`) | | the existing enrichment/online cases | PASS | PASS | `mvn -o -B -ntp checkstyle:check` passes. ### Risk One extra field per row, filled from data already in hand. Groups whose connection read fails keep the empty list they have today. -- 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]
