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]

Reply via email to