Frun1na opened a new issue, #4792:
URL: https://github.com/apache/rocketmq-dashboard/issues/4792
### Before Creating the Bug Report
- [x] Searched open and closed issues/PRs and checked related diffs.
- [x] This concerns RocketMQ Studio.
- [x] The exact inspected version and runtime scope are stated below.
### Studio Version
`rocketmq-studio` at `4c697f07acde460e2344375cb1f82669f5b270fd`.
### Runtime Environment
Source inspection of the query-history path; no live backend required.
### Summary
`QueryHistoryService.getMessageQueryResults`
(`instance/message/QueryHistoryService.java:152-156`) treats a stored
snapshot the mapper cannot
parse exactly like a legitimate empty result:
```java
} catch (JsonProcessingException e) {
log.warn("Failed to deserialize result snapshot for id={}: {}", id,
e.getMessage());
return List.of();
}
```
The two cases mean different things: a blank snapshot is a valid "nothing
stored", but an
unparseable snapshot is a persistence-level failure — the stored result rows
are lost (for
example after a serialization or schema change), and the `GET
/messages/{id}/results` response
presents that loss as a query that legitimately matched nothing. The history
view renders it as
"0 messages" with no hint anything went wrong, which conflicts with the
error semantics of
surfacing persistence failures instead of masking them as empty business
results.
### Reproduction
Insert an `rmq_message_query` row whose `result_snapshot` is not JSON (e.g.
`{"not-a-json-array":`),
call `GET /api/messages/{id}/results` as the owning user, and observe `200`
with an empty list
instead of an error.
Fix: PR #4791.
--
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]