The GitHub Actions job "CI" on 
rocketmq-dashboard.git/fix/cluster-broker-stats-unavailable has failed.
Run started by GitHub user unbridled-41 (triggered by unbridled-41).

Head commit for run:
eb6df76066af5216ed8ffff3f516c5c8b85d0908 / unbridled-41 
<[email protected]>
fix(cluster): stop rendering a failed broker runtime-stats read as 0% and 0 TPS

The Broker tab builds its rows from GET /clusters/registry, whose BrokerVO 
carries
diskUsage/tpsIn/tpsOut as Java zero defaults plus runtimeStatsAvailable=false 
when
the runtime-stats read failed 
(RocketMQClusterProvider.enrichBrokerWithRuntimeInfo
returns false at its first guard; the cluster view then reports status=warning 
via
hasUnavailableRuntimeStats). The columns ignored the flag:

    sorter: (a, b) => a.diskUsage - b.diskUsage,
    render: (v: number) => <Progress percent={v} ... />
    sorter: (a, b) => a.tpsIn - b.tpsIn,
    render: (v: number) => v.toLocaleString(),

so a broker whose stats could not be read showed a blue 0% disk bar and TPS 0 -
"empty disk, no traffic" - and sorted next to the genuinely idle brokers (first
in an ascending scan). The version cell on the same row already renders '-', and
the studio cluster page honours the same flag
(web/src/pages/studio/BrokerCluster.tsx: "broker.runtimeStatsAvailable === false
? null : ..."). The mock and the fixture never set the flag, so the suite could
not see it.

Render 不可用 for those cells and give the three sorters a direction-aware
comparator that keeps unmeasured brokers after measured ones in both directions
(the pattern the instance page already uses for unavailable resource counts).

Tests (web/): npx vitest run src/pages/cluster/__tests__/ClusterPage.test.tsx
- new case "reports a failed broker runtime-stats read as unavailable instead of
  0% and 0 TPS" fails before this change (the row contains 0%) and passes after
  it; it also asserts the descending order keeps the unmeasured broker last.
- 31 tests in ClusterPage.test.tsx pass; npx eslint reports no errors;
  npx tsc -b passes.

Report URL: 
https://github.com/apache/rocketmq-dashboard/actions/runs/37969673551

With regards,
GitHub Actions via GitBox

Reply via email to