Aias00 opened a new pull request, #4385:
URL: https://github.com/apache/rocketmq-dashboard/pull/4385
## Summary
- make Proxy lag lookup queue-aware by carrying `instanceId`, consumer
group, and `MessageQueue`
- query the existing Proxy remoting endpoints with `GET_MAX_OFFSET` and
`QUERY_CONSUMER_OFFSET`
- use the real Proxy result in consumer-group list/detail, queue progress,
and topic-consumer statistics
- preserve `UNKNOWN` for unreachable, incomplete, malformed, or inconsistent
responses instead of fabricating zero
## Implementation
`ProxyConsumerResolver` now implements `ProxyStatsProvider` and reuses its
existing per-instance Proxy
address discovery/cache and 2-second request timeout. For an already-known
queue it sends:
- `GET_MAX_OFFSET` with `topic`, `queueId`, `bname`, and committed offset
semantics
- `QUERY_CONSUMER_OFFSET` with `consumerGroup`, `topic`, `queueId`, `bname`,
and
`setZeroIfNotFound=false`
Both responses must be successful, contain an offset, and produce a
non-negative difference. A failed
Proxy is skipped in favor of the next discovered address; if no address can
return a complete pair,
the existing `ConsumerLagResolver.UNKNOWN` sentinel is retained.
Broker-reported non-negative lag
still bypasses Proxy entirely.
No topic-route scan or new dependency is introduced.
Fixes #4367
## Test plan
- [x] Java 21 focused provider suite: 126 tests passed
- [x] protocol-vector coverage for request codes, topic, queue id, broker
name, group, and timeout
- [x] positive, zero, fallback, partial, malformed, and negative-difference
coverage
- [x] list/detail/progress/topic-consumer context propagation coverage
- [x] Java 21 package build and Checkstyle
- [x] frontend production build
- [x] frontend lint: 0 errors (10 pre-existing warnings)
- [x] independent code review: no findings
- [x] `git diff --check`
### Full-suite baseline notes
- Backend H2/MySQL-compatible run: 2422/2423 passed. The only failure is the
pre-existing
`AuthServiceSessionOverviewIntegrationTest` second-boundary assertion
(`59` vs `>= 60`); the same
failure reproduces on clean `origin/rocketmq-studio@e5ac52440`, while the
class passes 3/3 alone.
- Frontend run: 1033/1034 passed. The only failure is the pre-existing
whole-suite timeout in
`ConsumerPage.test.tsx` (`keeps the latest client stack when an older
request resolves last`); that
file passes 32/32 alone, and this PR changes no frontend files.
---
Replaces #4368 because its base branch (`rocketmq-studio`) was deleted. This
PR uses the same head commit and targets `master`.
--
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]