unbridled-41 commented on issue #3104: URL: https://github.com/apache/rocketmq-dashboard/issues/3104#issuecomment-5543278812
Submitted a fix as draft PR #3145. The root cause matches the issue: `NativeAlertProcessor.reconcileMissingActiveStates` built `presentKeys` via `NativeAlertRuleScopeMatcher` alone, so any sample matching the rule's instance/resource labels kept the rule's fingerprint present regardless of which metric it reported. The fix requires `sample.metricKey().equals(rule.getMetric())` while constructing `presentKeys`. A regression test (`resolvesMissingMetricEvenWhenAnotherMetricSharesTheSameLabelsTest`) drives the scenario from this issue — a `consumer.lag.total` sample for the same consumer group after the `consumer.delay.seconds` sample disappears — and asserts the `RESOLVED` state persistence, the lifecycle event carrying the original labels, and the recovery-notification enqueue path. It fails on the unfixed code and passes with the fix; the whole-scope-unavailable guard is untouched. The PR is in draft for early feedback — happy to adjust anything. -- 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]
