RockteMQ-AI commented on issue #4545:
URL: 
https://github.com/apache/rocketmq-dashboard/issues/4545#issuecomment-5724579364

   **Issue Evaluation**
   
   Category: `bug` | Status: **Confirmed**
   
   This is a valid race condition bug in the Consumer page diagnostic UI.
   
   **Root Cause:**
   `ConsumerPage.loadProgress` allows concurrent async requests for the same 
consumer group to update `progressByGroup` in completion order. When an older 
request completes after a newer one, it overwrites the fresher diagnostic 
result.
   
   **Impact:**
   - Health Diagnostics shows stale data after "Re-diagnose" operations
   - Users see incorrect `diffTotal` values
   - Affects UI correctness, not system stability
   
   **Severity:** Medium
   - Reproducible with clear steps
   - Deterministic with deferred Promises
   - No data loss or crash, but misleading diagnostic information
   
   **Suggested Fix:**
   Track request sequence numbers or use request cancellation to ensure only 
the latest response updates the UI state. Common patterns:
   1. Add a request ID/counter and ignore responses with stale IDs
   2. Cancel in-flight requests before starting new ones
   3. Use AbortController for fetch requests
   
   This issue is ready for automated fix proposal 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]

Reply via email to