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]

Reply via email to