zmuxuny opened a new pull request, #4517:
URL: https://github.com/apache/rocketmq-dashboard/pull/4517

   ### Which Issue(s) This PR Fixes
   
   - Fixes #4516
   
   ### Brief Description
   
   Apache `getGroupProgress` already preserves an unresolved queue lag as 
`ConsumerLagResolver.UNKNOWN` (`-1`). `ApacheRocketMqBusinessMetricsCollector` 
previously clamped those queue rows to zero while computing 
`consumer.lag.max_queue` and `topic.backlog.total`, producing AVAILABLE metrics 
from unavailable progress.
   
   This change preserves unknown availability at the queue/topic aggregation 
layer. Any unknown queue makes the group max unavailable; topic backlog remains 
granular so known topics keep valid samples while only topics containing 
unknown queues are unavailable. Existing `consumer.lag.total` and delay 
semantics are unchanged.
   
   ### Red / Green Verification
   
   Baseline: `master@987b748e8f4f421c5cd3c4c4e51a064cc7e59f18`.
   
   Fail-before:
   - Mixed known + unknown queue progress was collected with group total 
already unknown.
   - The new regression expected `consumer.lag.max_queue` UNAVAILABLE, but the 
unmodified collector published AVAILABLE.
   - `ApacheRocketMqBusinessMetricsCollectorTest`: **7 tests, exactly 1 
failure**.
   
   Green, Java 21:
   - 
`ApacheRocketMqBusinessMetricsCollectorTest,RocketMQMetadataProviderTest,NativeAlertProcessorTest`:
 **71/71 passed**.
   - Checkstyle: **0 violations**.
   - `mvn -B -ntp -DskipTests package`: **BUILD SUCCESS**.
   - `git diff --check`: clean.
   
   Known zero/positive progress is unchanged; no provider/API/schema/dependency 
changes.
   
   AI-assisted source audit, implementation and regression authoring; the 
provider's existing unknown sentinel path was verified before changing the 
collector.
   


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