zmuxuny opened a new pull request, #5027: URL: https://github.com/apache/rocketmq-dashboard/pull/5027
### Which Issue(s) This PR Fixes - Fixes #5026 ### Brief Description A failed consumer-group progress read produces a `topic.backlog.total` sample with only a `consumerGroup` label. Native alert reconciliation previously treated each per-topic fingerprint missing from that pass as recovered, even though the group's topics could not be measured. That could clear a firing backlog incident and enqueue a false recovery notification. Keep an active fingerprint when a non-available sample for the **same metric** covers its labels. Other groups still reconcile, so a genuinely disappeared topic can resolve after a successful collection. The existing whole-scope failure handling remains intact. The regression drives the real Apache business metric collector with `getGroupProgress` failing, then feeds its samples into the alert processor. A second test verifies that a failure for `orders` does not block recovery of a missing topic in `billing`. ### How Did You Test This Change? - Before the fix, `NativeAlertProcessorTest.doesNotResolveTopicAlertWhenItsConsumerGroupProgressIsUnavailableTest` failed: the old implementation wrote `status=RESOLVED` for the active topic alert. - `cd server && mvn -q -o -Dtest=NativeAlertProcessorTest,ApacheRocketMqBusinessMetricsCollectorTest -DfailIfNoTests=false test` — **32 tests passed**, 0 failures and 0 errors. - `git diff --check` — passed. ### Checklist - [x] One coherent change; unrelated modifications are not bundled in - [x] Commit subject follows Conventional Commits - [x] Tests added for this non-trivial change, with `...Test` method names - [x] No new UI text or source files -- 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]
