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]

Reply via email to