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]
