X-LightYear opened a new issue, #4961:
URL: https://github.com/apache/rocketmq-dashboard/issues/4961

   ## Problem
   
   `ConsumerPage.loadSubscriptions` allows overlapping subscription-consistency 
requests for the same instance and consumer group to update 
`subscriptionsByGroup` in completion order.
   
   When a user starts a newer `重新诊断` request while the initial subscription 
request is still pending, the newer result can be rendered first and then be 
overwritten by the older response. The error and loading state use the same 
cache key and have the same stale-response risk.
   
   ## Reproduction
   
   1. Open the Consumer page and open a consumer group detail dialog.
   2. Switch to the `健康诊断` tab.
   3. While the initial `getConsumerSubscriptions` request is pending, click 
`重新诊断`.
   4. Resolve the newer request with two consistent subscriptions.
   5. Confirm that the UI shows `全部 2 个订阅配置一致`.
   6. Resolve the older request with one inconsistent subscription.
   7. Observe that the newer diagnostic result is replaced by the stale result.
   
   The sequence is reproduced deterministically with deferred Promises in 
`web/src/pages/instance/__tests__/ConsumerPage.test.tsx`.
   
   ## Expected behavior
   
   Only the latest subscription request for the same instance/group diagnostic 
context should update subscription data, loading state, or error state.
   
   ## Actual behavior
   
   Older responses update the shared cache entry after newer responses 
complete, so the health diagnostic can display stale subscription consistency 
data.
   
   ## Root cause
   
   `web/src/pages/instance/consumer.tsx` writes the result directly from 
`loadSubscriptions` without request-generation ownership. The existing 
`cacheKey` scopes the data, but does not distinguish overlapping requests for 
that key.
   
   ## Scope
   
   Frontend-only request ownership handling for Consumer subscription 
diagnostics, with deterministic regression coverage. This is separate from 
#4545, which covers consumer progress responses.


-- 
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