unbridled-41 opened a new issue, #4612: URL: https://github.com/apache/rocketmq-dashboard/issues/4612
### Studio Version branch: master git commit id: d50ffecc9d7e8f8f46da64198831bd7952e6974e ### Problem On the cluster page, a failed registry load silently wipes the data it is supposed to refresh and leaves the page claiming a healthy live connection: - `loadRegistryClusters` (`web/src/pages/cluster/index.tsx:205-224`) catches a failed `listRegistryClusters()` with `setRegistryClusters([])` — no error state, no message, no retry flag. The Broker tab table (`:2444+`) and the Proxy tab table render their rows from `registryClusters`, so one transient failure empties both inventories. - `loadNsRegistry` (`:230-238`) does the same to the NameServer 注册表 table (`setNsRegistry([])`), and the K8s cert effect (`:244-255`) clears the cert-id options. - The page's green "实时刷新" live indicator is driven only by the per-instance `clusters` auto-refresh, which does **not** re-run these loaders (they fire once on mount). After a registry failure the indicator keeps pulsing green next to empty tables, telling the operator the data is live and healthy. - The same page already has the correct pattern for a primary load: the instance list failure sets `instanceLoadError` (`:176-180` area) and renders an error panel with retry. The registry loaders predate that pattern and were never aligned. Trigger (deterministic): open 集群管理 while `/registry/clusters` or `/nameservers/registry` returns a transient 5xx (gateway hiccup, backend restart). Broker/Proxy tabs and the NameServer registry show empty tables with no error until the user manually hits refresh; the header live indicator stays green throughout. ### Evidence - `web/src/pages/cluster/index.tsx:215-218` (catch → `setRegistryClusters([])`), `:235-237` (catch → `setNsRegistry([])`), `:252-254` (catch → `setK8sIdOptions([])`). - `web/src/pages/cluster/index.tsx:226-242` — both loaders run once on mount; the 2s auto-refresh effect does not include them. - Live indicator source: the auto-refresh status of `clusters` only. - Contrast: `instanceLoadError` state + error panel with retry button already in the same file for the instance list. ### Impact An operator who opens the page during a blip sees empty cluster/registry inventories with a green "live" indicator — "no clusters" and "connection healthy" shown at the same time. Data-driven actions (config diff, registry edits) look unavailable for reasons the page never explains. ### Expected behavior A failed registry load surfaces an error state (error banner/retry like the instance list, or keep-previous-data plus a visible failure flag) instead of silently rendering an empty inventory as if it were authoritative; the live indicator must not claim health over a failed registry source. ### Related work - #3103 (open, PR #4559) — registry *actions* targeting the wrong instance; different defect on the same table. - #4543 — connection lookup failures reported as zero online clients: same "failure rendered as empty/zero" family, different page and layer. - #4599 / PR #4603 — failed audit summary rendered as zero statistics: same family in ops. ### PR Fix incoming. -- 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]
