unbridled-41 opened a new pull request, #5956: URL: https://github.com/apache/rocketmq-dashboard/pull/5956
### Which Issue(s) This PR Fixes Fixes #5955 ### Problem / Evidence The Trace tab reads a per-message cache; the manual lookup writes only the panel state: ```ts // runTraceQuery (before) const result = await getMessageTrace(value, ...); setTraceData(result); setTraceError(null); ``` ``` MessagePageAsyncState: keeps a manually refreshed trace when the tab is re-entered TestingLibraryElementError: Unable to find an element with the text: refreshed-trace description ``` So the next tab entry re-serves the cached snapshot the query just superseded, taking the diagnostics (delivery status, failed-group count, recommendations) back with it. ### Root cause / Fix Two writers for one UI slot, and only one of them updates the cache the tab entry reads. Publish the manual msgid result into the same cache entry, keyed exactly as `loadMessageTrace` builds it. ### Priority and scoring **PRIORITY 45** — impact 16/40 (an explicit user action silently reverted; the operator reasons on a stale payload), blast radius 8/20 (the trace tab, whenever a refresh is followed by a tab switch), reproducibility 18/20 (deterministic, pinned by the new test), maintenance value 3/20. **FIX_CONFIDENCE 75** — the key construction is shared; the only new logic is the write-back. ### Tests `cd web && npx vitest run src/pages/instance/__tests__/MessagePageAsyncState.test.tsx` -> `Tests 23 passed`. | Test | Before | After | |---|---|---| | `keeps a manually refreshed trace when the tab is re-entered` | FAIL (the older snapshot returned) | PASS | | `loads a message trace lazily and reuses it for the same message` | PASS | PASS | `npx eslint` reports no errors; `npx tsc -b` passes. ### Risk The cache now holds the manual result too, which is what the tab wanted to show; the cache's own invalidation (key change, failed request) is untouched. -- 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]
