Frun1na opened a new issue, #5644: URL: https://github.com/apache/rocketmq-dashboard/issues/5644
### Before Creating the Bug Report - [x] I have searched the [open issues](https://github.com/apache/rocketmq-dashboard/issues) of this repository and believe that this is not a duplicate. - [x] This is a defect in RocketMQ Studio, not a usage question and not a defect in another Apache RocketMQ repository. - [x] I can reproduce this on the current `master` branch, or I have stated the exact version I am running below. ### Studio Version branch: `rocketmq-studio` git commit id: `6a68042f` deployed as: built from source ### Runtime Environment OS: Ubuntu 22.04 (WSL2) MySQL: not applicable — the defect is in the page's polling/error path, covered by the component test browser: not needed; reproduced with the page's own component test (`web/src/pages/studio/__tests__/BrokerCluster.test.tsx`) ### Connected RocketMQ Cluster RocketMQ version: not applicable — mock mode serves the fixture cluster access mode: not applicable deployment: not applicable ### Describe the Bug On the cluster topology page (`web/src/pages/studio/BrokerCluster.tsx`), with live refresh switched on, the page polls `listClusters` every 2 s. Every failing tick runs the same error path as a manual refresh: it calls `clearData()` and shows an error toast. A transient outage of the instance/server therefore turns into an endless loop of "refresh failed" toasts every 2 seconds, and the topology the operator is looking at is blanked between ticks even though the last successful data was already fetched. `loadData()` has no silent mode: the poller, the initial load and the manual refresh all share one loud failure path. ### Steps to Reproduce 1. Open the cluster topology page for an instance and switch live refresh on. 2. Make the next `listClusters` call fail (stop the instance, or point the page at an unreachable server). 3. Watch two or three refresh intervals: an error toast appears on every tick and the topology table empties, although data had already been loaded successfully. ### What Did You Expect to See? A failing automatic tick should stay quiet — no toast, keep the last good topology — and only an explicit refresh should report the failure. That is already the behaviour of the consumer page's auto-refresh (the silent-refresh pattern introduced for #4968). ### What Did You See Instead? `common.refreshFailed` toast on every 2 s tick plus `clearData()` blanking the table, for as long as the outage lasts. ### Additional Context - affected code: `loadData` in `web/src/pages/studio/BrokerCluster.tsx`, shared by the initial load, the refresh button and the live-refresh poller. - the failing-tick behaviour can be pinned with a component test: with a resolved fixture followed by a rejected poll, the unpatched page clears the table and toasts on the silent tick. ### Are You Willing to Submit a Pull Request? - [x] Yes, I am willing to submit a pull request. --- Re-submission: the original report (#5074) was closed by the stale bot after 7 days without triage activity, and GitHub now rejects reopening items in this repository. Refiled unchanged; the fix PR is linked below. -- 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]
