Loyal-Young opened a new issue, #6065:
URL: https://github.com/apache/rocketmq-dashboard/issues/6065

   ### Describe the bug
   
   On rocketmq-studio at 29fe48abc, listInstances deduplicates concurrent calls 
in a Map. Successful mutations clear that map, but every older request's 
finally callback unconditionally deletes its key. If a new list has started 
after mutation, completion of the pre-mutation request deletes that newer 
request's entry. Further callers start additional discovery requests instead of 
sharing the in-flight post-mutation read.
   
   ### Reproduction
   
   1. Hold list request A pending.
   2. Complete an instance mutation, which invalidates the in-flight map.
   3. Start post-mutation list request B with the same query and hold it 
pending.
   4. Resolve or reject A.
   5. Start another list call C before B settles. The API is called a third 
time, although C should join B.
   
   ### Expected behavior
   
   An old completion may remove only its own map entry. After B settles 
normally (or fails), its entry must still be removed so subsequent calls can 
refresh or retry. Existing per-caller defensive copies must be preserved.
   
   ### Scope / duplicate check
   
   #4874 introduced mutation invalidation and is already merged. This is a 
later ordering case: its tests complete the fresh read before settling the old 
one, so they do not cover old A settling while fresh B is still pending. 
Searched inflight/listInstances issues before filing.
   
   ### AI assistance
   
   AI assistance was used to trace promise cleanup and draft a deterministic 
deferred-response reproduction.


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