zmuxuny opened a new pull request, #6197: URL: https://github.com/apache/rocketmq-dashboard/pull/6197
## Summary Fixes #6188. A registered Apache instance can point at a NameServer serving multiple broker clusters. Native collectors carry each sample's `clusterId`, but native alert events previously retained only the resource labels. The missing cluster identity let an unavailable broker in one cluster suppress consumer-backlog notifications in another cluster under the same instance. - Carry a known, authoritative sample `clusterId` into event labels and notification delivery scope. - Keep incident fingerprints based on the original sample labels so existing incidents retain their identity. - Preserve the existing correlation fallback when cluster identity is unknown, without conflating `clusterName` and `clusterId`. - Select the latest event for each incident before filtering correlation scope. This prevents an older unscoped FIRING event from resurfacing when a newer scoped RESOLVED event exists for the same fingerprint. ## Regression coverage The new integration test uses both real Apache native collectors, the native processor/evaluator, and the real suppression service. Only admin/provider and persistence boundaries are mocked. It covers different clusters, the same cluster, and missing identity on either or both sides. Additional regressions verify authoritative identity, unchanged fingerprints, blank identity fallback, notification-label consistency, and legacy-to-scoped event histories. ## Validation - Original production code: 16 focused tests, with exactly 3 expected regression failures and 13 passing controls. - Fixed code: 72 tests passed across seven focused collector/alert suites, with no skips. - Maven Checkstyle and `git diff --check` passed. - An expanded 102-test run including `NotificationOutboxServiceTest` did **not** fully pass: that unchanged 30-test suite produced 6 failures and 2 errors. The same eight test methods failed with the same exception types against the unmodified alert implementation in the same environment. These include URL-locality rejection and unsatisfied mock HTTP expectations. No address-validation restriction was bypassed. Only the two changed production classes and changed tests were compiled against existing base artifacts. This is focused verification, not a full clean build or full repository test pass. AI assistance was used. An independent reviewer approved the final diff and independently passed the 72 focused tests. -- 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]
