You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by "unbridled-41 (via GitHub)" <gi...@apache.org> on 2026/10/09 20:07:17 UTC
[PR] fix(message): keep a manually refreshed trace when the tab is re-entered [rocketmq-dashboard]
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] fix(message): keep a manually refreshed trace when the tab is re-entered [rocketmq-dashboard]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #5956:
URL: https://github.com/apache/rocketmq-dashboard/pull/5956#issuecomment-6227225920
This pull request has been automatically closed because there has been no activity for 7 days. If you would like to continue working on this, please reopen the PR with updated changes.
--
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] fix(message): keep a manually refreshed trace when the tab is re-entered [rocketmq-dashboard]
Posted by "unbridled-41 (via GitHub)" <gi...@apache.org>.
unbridled-41 commented on PR #5956:
URL: https://github.com/apache/rocketmq-dashboard/pull/5956#issuecomment-6091391496
### Verification on the final commit (branch + commit + command results)
Every command from the description re-run on a fresh worktree of this branch (`git worktree add <dir> fork/<branch>`, no local modifications), at commit `5b3562dd8c`:
| command | exit | result |
| --- | --- | --- |
| `cd web && npx vitest run src/pages/instance/__tests__/MessagePageAsyncState.test.tsx` | 0 | `Test Files 1 passed (1) · Tests 23 passed (23)` |
CI note: on this repository the `Backend Build` (binary-license-gate), `Frontend Build` / `Frontend Docker Build` (licence manifest) and `rmqctl Build` (YAML renderer quoting) jobs are red for every branch, trunk included; the module-level commands above are unaffected.
--
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] fix(message): keep a manually refreshed trace when the tab is re-entered [rocketmq-dashboard]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] closed pull request #5956: fix(message): keep a manually refreshed trace when the tab is re-entered
URL: https://github.com/apache/rocketmq-dashboard/pull/5956
--
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] fix(message): keep a manually refreshed trace when the tab is re-entered [rocketmq-dashboard]
Posted by "unbridled-41 (via GitHub)" <gi...@apache.org>.
unbridled-41 commented on PR #5956:
URL: https://github.com/apache/rocketmq-dashboard/pull/5956#issuecomment-6090246724
### CI status of this PR
`Backend Tests (Java 21)` — **pass**; the change-specific commands and their results are in the Tests section of the description.
The four remaining red jobs are red for every branch, including `rocketmq-studio` itself:
- `Backend Build (Java 21)` — the `binary-license-gate` antrun step fails on a list of third-party jars (`spring-ai-*`, `swagger-ui`, `tencentcloud-sdk-*`, `zstd-jni`, ... : "missing complete upstream LICENSE/COPYING; a POM name or link is not a substitute"). This PR touches no build configuration; tracked by #5341.
- `Frontend Build (Node 20)` / `Frontend Docker Build` — the frontend licence manifest check fails the same way on branches that do not touch `web/` at all; tracked by #5346.
- `rmqctl Build (Go)` — `cmd` `TestMessageQueryCompletenessWarningTest` yaml subtests: `got {"items":[{"size":"3",...}]}, want {"size":3,...}`, i.e. the YAML renderer writes numbers as quoted strings where the test expects integer literals. Reproduced locally with `cd rmqctl && go test ./cmd/` from a checkout whose `rmqctl/` tree is byte-identical to `rocketmq-studio`'s, and owned by open PR #5850 ("keep yaml numbers unquoted").
--
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org