ai-yang opened a new pull request, #681: URL: https://github.com/apache/rocketmq-dashboard/pull/681
### Which Issue(s) This PR Fixes - Fixes #680 ### Brief Description Replace browser-generated Cluster metrics with serialized polling of the existing Cluster API. - Remove all random TPS/connection mutations and render only `listClusters()` snapshots. - Refresh immediately on mount, then schedule the next poll two seconds after the previous request completes. - Coordinate initial, manual, operation, and background refreshes without overlapping requests; mutations that finish during an older GET receive a queued follow-up GET. - Preserve the last successful snapshot on background errors, expose a red retry status, and avoid repeated background toasts. - Support immediate enable, cancellable disable, empty snapshots, and unmount-safe late responses. - Persist partial `updateClusterConfig()` changes in the mock store. ### Root Cause The page used `setInterval` to perturb Broker TPS and Proxy connections with `Math.random()` instead of polling the Cluster service. Initial and post-operation refreshes were separate request paths, and mock configuration updates returned without changing the backing store. ### Impact Cluster values now represent the latest successful service response, polling cannot overlap slow requests, and operation results cannot be finalized with a pre-operation snapshot. Background failures retain useful data and continue retrying without toast spam. This PR only consumes the existing Cluster API. It does not introduce a Metrics subsystem; conceptually related PR #657 currently changes only server trace model files and has no Cluster-page overlap. ### How Did You Test This Change? - Targeted Cluster page/service suite: 14 tests passed, including deferred-promise and fake-timer concurrency cases. - Full frontend suite: 56 files / 239 tests passed. - `npm run lint` (0 errors; 4 pre-existing Fast Refresh warnings). - `npm run build` (successful; existing large-chunk warning only). - `git diff --check`. -- 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]
