unbridled-41 opened a new issue, #5925:
URL: https://github.com/apache/rocketmq-dashboard/issues/5925

   ### 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 frontend tests (`cd web && npx vitest run 
src/pages/instance/__tests__/ConsumerPage.test.tsx 
src/utils/consumerGroupDiagnostics.test.ts`).
   
   ### Connected RocketMQ Cluster
   
   Any cluster with a group whose broker consume stats cannot be read - the 
provider names the case in its own comment ("No consume stats (e.g. POP-only 
group without an offset table): keep zeros").
   
   ### Describe the Bug
   
   `ConsumerGroupVO` says whether the stats read succeeded:
   
   ```java
   /** Whether the provider successfully read broker-side consume stats for 
this group. */
   private boolean consumeStatsAvailable;
   ```
   
   and the provider keeps the Java zero defaults when it did not. The console 
never read that flag (`grep -rn consumeStatsAvailable web/src` -> no hits), so 
such a group was presented as measured:
   
   - 总堆积量 showed a **green 0**, and the sort key was that 0, so the group led 
an ascending scan;
   - the detail card showed a green 0;
   - the health panel - the feature's whole point - reported **no issue at 
all**, i.e. 消费组健康 with a full score.
   
   The backend itself refuses to draw conclusions from this state: 
`GroupDetailToolHandler` returns health `UNKNOWN` for it and 
`ApacheRocketMqBusinessMetricsCollector` emits `CONSUMER_STATS_UNAVAILABLE` 
instead of a zero.
   
   ### Steps to Reproduce
   
   1. Open the consumer-group page for a cluster with a group whose consume 
stats cannot be read (POP-only group, offline group, broker error).
   2. The 总堆积量 cell reads a green 0, the detail card repeats it, and 健康诊断 
reports no issue.
   3. Red before the fix: `expect(diagnostics.summary.reportedLag).toBeNull()` 
and the row's 不可用 marker both fail.
   
   ### What Did You Expect to See?
   
   The backlog and health of an unmeasured group reported as unknown, like the 
client-count and lag columns already do for their own sentinel.
   
   ### What Did You See Instead?
   
   Zero backlog and a healthy verdict.
   
   ### Evidence
   
   - `server/.../instance/group/ConsumerGroupVO.java:45-46`, 
`server/.../provider/apache/RocketMQMetadataProvider.java:390,399-402,430-434`, 
`web/src/pages/instance/consumer.tsx`, 
`web/src/utils/consumerGroupDiagnostics.ts`.
   - `cd web && npx vitest run 
src/pages/instance/__tests__/ConsumerPage.test.tsx -t 'consume stats'` - the 
new case fails before the fix.
   
   ### Impact
   
   Exactly the groups whose data is missing are reported as caught up and 
healthy, in the list, the sort order, the detail card and the health verdict.
   
   ### Acceptance Criteria
   
   - The backlog of such a group renders as unavailable, sorts after measured 
groups in both directions, its reported lag is null, and the diagnostics raise 
a warning instead of a healthy verdict, with regression tests.
   
   **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]

Reply via email to