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]

Reply via email to