RockteMQ-AI commented on issue #4547: URL: https://github.com/apache/rocketmq-dashboard/issues/4547#issuecomment-5726454604
**Issue Evaluation** Category: `bug` | Status: **Confirmed** The reported race condition in the Topic sync modal has been verified against the current codebase (`master` at `d50ffecc`). **Root Cause:** `openSyncModal` in `web/src/pages/instance/topic.tsx` (line 566) fires async route-check requests without a request-ID guard. Other async flows in the same file (`loadTopicData`, `loadConsumers`, `openDetail`) already use the `requestIdRef` pattern to discard stale responses, but `openSyncModal` does not. When the modal is closed and reopened while a previous check is still pending, the older response overwrites the newer state. **Impact:** The sync modal can display stale "missing routes" results after a newer check has already confirmed all routes are valid. This is a UI-only issue — no backend or data corruption risk. **Severity:** Low–Medium. The bug is deterministic under the described reproduction steps but only affects the diagnostic display, not actual topic synchronization. **Fix scope:** Frontend-only. Add a `syncRequestIdRef` (or reuse the existing modal session lifecycle) to discard route-check results from superseded modal sessions. The same pattern already exists in the file and can be applied consistently. An automated fix proposal may be generated. Reply `/approve` to proceed with PR generation. --- *Automated evaluation by RockteMQ-AI* -- 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]
