unbridled-41 opened a new issue, #5955:
URL: https://github.com/apache/rocketmq-dashboard/issues/5955

   ### Studio Version
   branch: `rocketmq-studio` @ `7e7aa344` (the revision verified; the branch is 
based on it)
   deployed as: not required to reproduce
   
   ### Runtime Environment
   
   Reproduced with the frontend tests (`cd web && npx vitest run 
src/pages/instance/__tests__/MessagePageAsyncState.test.tsx`).
   
   ### Connected RocketMQ Cluster
   
   Not required.
   
   ### Describe the Bug
   
   Entering the Trace tab loads the message's trace through a per-message cache
   (`traceCacheRef`, keyed by instance/topic/msgId/trace topic), but the manual 
lookup (查询轨迹) bypasses the cache and stores its result only in the panel state:
   
   ```ts
   const result = await getMessageTrace(value, selectedInstanceId, 
selectedMsg?.topic, customTraceTopic);
   setTraceData(result);
   ```
   
   The next entry into the Trace tab re-reads the cached promise and puts the 
superseded snapshot back on screen. The operator's explicit refresh is undone 
by a tab click, and the diagnostics drawn from that payload (delivery status, 
failed-group count, the recommendations) revert with it.
   
   ### Steps to Reproduce
   
   1. Open a message's 消息轨迹 tab (trace A is cached and shown).
   2. Press 查询轨迹 for the same msgId: the fresher trace B is shown.
   3. Switch to 消息内容 and back to 消息轨迹: trace A is displayed again, although the 
query that superseded it ran moments ago.
   
   ### What Did You Expect to See?
   
   The refreshed trace stays until the message or the trace topic changes.
   
   ### What Did You See Instead?
   
   The older snapshot comes back on a tab click.
   
   ### Evidence
   
   - `web/src/pages/instance/message.tsx` (`loadMessageTrace`'s cache 
read/write, `runTraceQuery`).
   - `cd web && npx vitest run 
src/pages/instance/__tests__/MessagePageAsyncState.test.tsx -t 'manually 
refreshed'` - fails before the fix.
   
   ### Impact
   
   An explicit refresh is silently discarded and the panel shows conclusions 
known to be superseded.
   
   ### Acceptance Criteria
   
   - A manual msgid lookup publishes its result into the same cache entry the 
tab load uses, with a regression test.
   
   **Corresponding PR:** #ISSUEPR#
   


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