X-LightYear opened a new pull request, #7188: URL: https://github.com/apache/rocketmq-dashboard/pull/7188
## Summary - prevent cancelled metric jobs from starting later snapshot or alert side effects - recheck per-job cancellation after lease refresh and snapshot persistence - preserve healthy sibling collection when one job times out - add deterministic checkpoint and lease-loss regression coverage ## Root cause CollectorScheduler.persist only checked cancellation before the lease refresh. If cancellation or lease loss happened while ryAcquire() or saveAll() was in flight, the worker continued into snapshot persistence or alert processing after the scheduler had already abandoned that job or pass. ## Fix The scheduler now keeps per-job cancellation separate from pass-level lease loss, rechecks cancellation after lease refresh, and rechecks cancellation and heartbeat ownership after snapshot persistence. Already-started snapshot writes are not rolled back; alert processing is not started after cancellation or lease loss. ## Testing - CollectorCancellationCheckpointTest: 3 passed - CollectorSchedulerTest: 15 passed - focused command: mvn -B -ntp -Dmaven.compiler.proc=full -Dtest=CollectorCancellationCheckpointTest,CollectorSchedulerTest test`n- final pre-fix control: the same 3 regression cases failed on unchanged production code with unexpected saveAll/processSuccessfulCollection calls - full server test attempt: 3837 tests; 10 failures and 31 errors were existing MySQL integration-environment failures ( oot access denied), unrelated to this change - checkstyle: 0 violations - package reached Spring Boot repackage; repository license gate was blocked because python3 is unavailable in the execution environment Fixes #7155 -- 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]
