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]

Reply via email to