123123213weqw opened a new pull request, #6486: URL: https://github.com/apache/rocketmq-dashboard/pull/6486
Fixes #6440. Native `==`/`!=` in `AlertRuleEvaluator` used `Double.compare`, whose total order separates `-0.0` from `+0.0` — so a rule with a `-0.0` threshold failed equality against a measured zero and incorrectly fired inequality, while every other operator treated the two as equal. The evaluator now uses primitive numeric equality for those two operators (IEEE semantics: `-0.0 == 0.0`, NaN never equal), which is also the reading `AlertRuleSemanticFingerprint` already applies when it normalises either zero threshold to one identity. Red-first: `negativeZeroThresholdEqualsMeasuredZeroTest` asserts `== 0.0/-0.0` matches and `!= 0.0/-0.0` does not (the `!=` half fails on the old code). cc @lizhimins -- 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]
