RockteMQ-AI commented on issue #2891: URL: https://github.com/apache/rocketmq-dashboard/issues/2891#issuecomment-5500438995
**Issue Evaluation** Category: `bug` | Status: **Confirmed** This is a valid race condition bug. The notification delivery page relies solely on React state (`retryingIds`) to guard against duplicate retries, but React state updates are asynchronous and batched. A second retry event arriving before the state commit can queue the same delivery again. **Root Cause:** React state is not a synchronous guard — `setRetryingIds` is async, so overlapping retry actions (individual + bulk, or rapid double-click) can both pass the guard check. **Impact:** Duplicate retry API calls for the same delivery ID, potentially causing unnecessary backend load or confusing UX. **Severity:** Medium — affects UX correctness under rapid interaction. **Suggested fix:** Use a synchronous in-flight guard (e.g., a `useRef` Set or module-level tracking) alongside the React state to prevent duplicate queuing before state commits. An automated fix proposal can be generated. Reply `/approve` to proceed with PR generation. --- *Automated evaluation by github-manager* -- 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]
