DanielLeens commented on code in PR #12288:
URL: https://github.com/apache/seatunnel/pull/12288#discussion_r4254913477


##########
seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/CheckpointCoordinatorFailoverIT.java:
##########
@@ -823,14 +845,27 @@ public void 
testStreamJobFailsAfterCheckpointTriggerDispatchFailure() throws Exc
             Assertions.assertEquals(JobStatus.FAILED, jobResult.getStatus());
             Assertions.assertNotNull(
                     jobResult.getError(), "a FAILED job should carry a 
non-null error message");
+            // Either reason is a correct detection of the same injected fault 
-- see the
+            // "Which failure path actually fires is a genuine, harmless race" 
section of the
+            // class javadoc above for why both 
CheckpointManager#sendOperationToMemberNode call
+            // sites (checkpoint-trigger barrier dispatch and post-completion 
notify) can observe
+            // the removed ownedSlotProfilesIMap entry depending on scheduling 
timing.
             Assertions.assertTrue(
                     jobResult
-                            .getError()
-                            
.contains(CheckpointCloseReason.CHECKPOINT_INSIDE_ERROR.message()),
+                                    .getError()
+                                    .contains(
+                                            
CheckpointCloseReason.CHECKPOINT_INSIDE_ERROR.message())
+                            || jobResult

Review Comment:
   Reconciled against the current `dev` head: the deterministic replacement, 
#12449, was merged as `146a1b5c510e1c33010a92981ae1afc8139c624b` on 2026-09-27. 
`dev` now waits for `pendingCounter == 0` and removes the fault under the 
coordinator lock, so it closes the race identified here without this branch’s 
production-only `getLatestCompletedCheckpointId()` accessor. The loop evidence 
in this thread also showed this branch remained flaky. I am therefore resolving 
this thread and closing #12288 as superseded rather than resolving its merge 
conflict.



-- 
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