89799969 opened a new pull request, #4391: URL: https://github.com/apache/rocketmq-dashboard/pull/4391
### Which Issue(s) This PR Fixes - Fixes #4203 ### Brief Description `AlertService.acknowledgeAlert` persisted two related writes — the system-alert event ACK and the matching FIRING/REMINDER active-state ACK — without a transaction boundary. If the second write failed, the request failed but the event stayed acknowledged while the episode stayed FIRING, so the reminder loop kept notifying for an alert the UI already showed as acknowledged. Mark the method `@Transactional` so both writes commit or roll back together. The existing behaviour for stale occurrences (repository returns false without changing a newer episode) is unchanged. ### How Did Yon Test This Change? ``` $ cd server && mvn -B -ntp test -Dtest=AlertServiceTest ``` New regression test `acknowledgeAlertShouldCommitEventAndActiveStateInOneTransactionTest` pins the `@Transactional` annotation (same reflection pattern as `MybatisPlusMetricSnapshotRepositoryTest`). Existing acknowledge tests still pass. Focused run: ``` Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 ``` Full `AlertServiceTest` and checkstyle are green locally. ### Checklist - [x] One coherent change; unrelated modifications are not bundled in - [x] Commit subject follows Conventional Commits (`fix:`) - [x] Tests added or updated for non-trivial changes, test methods named `...Test` - [x] No new UI text - [x] Architecture constraints stay green (`mvn test` runs the ArchUnit checks) - [x] No new source files - [x] Documentation not required (internal persistence atomicity) -- 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]
