You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by "zmuxuny (via GitHub)" <gi...@apache.org> on 2026/09/17 11:04:38 UTC

[I] [Studio][Bug] Missing Broker runtime fields can falsely resolve native metric alerts [rocketmq-dashboard]

zmuxuny opened a new issue, #4519:
URL: https://github.com/apache/rocketmq-dashboard/issues/4519

   ### Before Creating the Bug Report
   
   - [x] I searched open/closed issues and PRs for missing Broker runtime metrics, false alert recovery, disk/heap/send-queue availability, and native alert reconciliation.
   - [x] I verified the control flow on current `master` (`987b748e8f4f421c5cd3c4c4e51a064cc7e59f18`).
   
   ### Problem
   
   `ApacheRocketMqClusterMetricsCollector` treats a successful `fetchBrokerRuntimeStats` call as Broker availability, but silently **omits** individual metric samples when `commitLogDiskRatio`, JVM heap fields, or send-thread-pool queue fields are missing/invalid.
   
   `NativeAlertProcessor.processSuccessfulCollection` later reconciles missing active states for the entire cluster-metric scope. Its whole-scope failure guard only stops reconciliation for an UNAVAILABLE sample with empty labels. A missing broker-scoped metric emits no sample at all, so an existing active rule fingerprint is absent from `presentKeys` and can be advanced to RESOLVED.
   
   ### Impact
   
   A transiently absent or malformed Broker runtime field can look like a real recovery. For example, a firing `broker.disk.usage_ratio` alert may be marked RESOLVED and enqueue a recovery notification merely because `commitLogDiskRatio` was missing for one collection, while `broker.availability` still reports the Broker as healthy.
   
   The same failure mode applies to:
   - `broker.disk.usage_ratio`;
   - `broker.jvm.heap.usage_ratio`;
   - `broker.send_queue.usage_ratio`.
   
   ### Expected behavior
   
   Once Broker runtime stats are reachable, each supported metric must produce either an AVAILABLE value or a **broker-scoped UNAVAILABLE** sample. Missing/invalid individual fields must never be represented by absence.
   
   A broker-scoped UNAVAILABLE sample keeps the rule fingerprint present, skips numeric evaluation, and prevents missing-state reconciliation from generating a false recovery while leaving other Broker metrics usable.
   
   ### Verification plan
   
   Add red-first collector coverage proving a missing/invalid runtime field currently produces no metric sample. Add an integration-style NativeAlertProcessor regression: start from an active broker metric state, process a successful collection containing the same broker-scoped metric as UNAVAILABLE, and verify no RESOLVED lifecycle event/recovery notification is emitted.
   
   Preserve genuine Broker unavailability and all valid numeric parsing behavior.
   
   AI-assisted source audit; the collector and reconciliation control flow were verified before filing.
   


-- 
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: commits-unsubscribe@rocketmq.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Studio][Bug] Missing Broker runtime fields can falsely resolve native metric alerts [rocketmq-dashboard]

Posted by "lizhimins (via GitHub)" <gi...@apache.org>.
lizhimins closed issue #4519: [Studio][Bug] Missing Broker runtime fields can falsely resolve native metric alerts
URL: https://github.com/apache/rocketmq-dashboard/issues/4519


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Studio][Bug] Missing Broker runtime fields can falsely resolve native metric alerts [rocketmq-dashboard]

Posted by "RockteMQ-AI (via GitHub)" <gi...@apache.org>.
RockteMQ-AI commented on issue #4519:
URL: https://github.com/apache/rocketmq-dashboard/issues/4519#issuecomment-5713316218

   **Issue Evaluation**
   
   Category: `bug` | Status: **Under Review**
   
   Thank you for reporting this issue. It has been flagged for code-level verification against the current codebase.
   
   An automated analysis will be performed. If the issue is confirmed, a fix proposal may be generated.
   
   ---
   *Automated evaluation by RockteMQ-AI*


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Studio][Bug] Missing Broker runtime fields can falsely resolve native metric alerts [rocketmq-dashboard]

Posted by "lizhimins (via GitHub)" <gi...@apache.org>.
lizhimins commented on issue #4519:
URL: https://github.com/apache/rocketmq-dashboard/issues/4519#issuecomment-5758307106

   Resolved by #4521 (merged into rocketmq-studio as eda9884d6).


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org