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]

Reply via email to