tju-yxq opened a new pull request, #3298:
URL: https://github.com/apache/rocketmq-dashboard/pull/3298

   ## What changed
   
   Message Explorer deduplicates trace lookups in a page-local `Map`, but 
successful promises were retained indefinitely. A long investigation session 
with many distinct messages could therefore keep every resolved trace response 
referenced until the page was destroyed.
   
   This change replaces the unbounded map with a small LRU promise cache:
   
   - cap retained trace requests at 32 entries;
   - refresh recency when an existing trace is reopened;
   - evict the least-recently-used entry when the cap is exceeded;
   - keep in-flight request de-duplication unchanged;
   - continue removing rejected requests so a failed lookup can be retried;
   - add focused tests for capacity validation, LRU eviction, replacement, 
deletion, and cleanup.
   
   The cache is page-local and does not alter trace query results or 
server-side history recording.
   
   Closes #3297
   
   ## Validation
   
   - `npm test -- boundedPromiseCache.test.ts --run` — 4 tests passed
   - `npm test -- MessagePageAsyncState.test.tsx MessagePage.test.tsx --run` — 
27 tests passed
   - `npm run lint -- --quiet` — 0 errors; 10 existing warnings remain 
elsewhere in the tree
   - `npm run build` — passed
   - `git diff --check` — passed
   
   The GitHub Actions status is not being described as green here; the checks 
above are local validation on this branch.


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