201811510411lw opened a new pull request, #12449: URL: https://github.com/apache/seatunnel/pull/12449
### Purpose of this pull request `CheckpointCoordinatorFailoverIT.testStreamJobFailsAfterCheckpointTriggerDispatchFailure` can remove the pipeline's slot-profile bookkeeping after a checkpoint barrier has already been dispatched. Completion notifications use the same address lookup, so the job then fails with `CHECKPOINT_NOTIFY_COMPLETE_FAILED` and the test's required `CHECKPOINT_INSIDE_ERROR` assertion fails. Wait until a checkpoint has been triggered and no checkpoint remains pending, then remove the bookkeeping under the coordinator's existing trigger lock. This lets completion notifications finish and prevents a new trigger from racing the idle check and removal. Keep the strict job-state/error assertion and also verify the missing-address cause and `triggerCheckpoint` stack frame. Correct the explanation of the checkpoint ID counter, whose advancement alone does not establish completion. This stabilizes the existing regression coverage for #10442 / #10448. The failure was observed in [the Java 8 Engine CI job for #12366](https://github.com/201811510411lw/seatunnel/actions/runs/35552562760/job/106600821473). [Earlier controlled phase experiments](https://github.com/201811510411lw/seatunnel/actions/runs/35502988191) reproduced the same completion-notification assertion failure on both the pre-PR base and PR head. This PR is based independently on `dev` and changes only the E2E test. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Validated on `dev` base `e78be4c7a20fd690388fb7e8cdca064d2aeb0ac7`: - Java 11.0.31: the focused Maven `clean verify` below passed (1 test, 0 failures/errors/skips), followed by two successful fresh-JVM repetitions of the same method. - Java 8u202: three successful fresh-JVM repetitions of the same method using the Java 11-built, Java 8-targeted classes and the Failsafe test classpath. - Repetitions used JUnit Platform Launcher with a `selectMethod` selector for this existing method; they retained all of its assertions. Every run reached the barrier-dispatch failure path. - Spotless checks and `git diff --check` passed. Only the named method and its required dependency reactor were validated: ```bash ./mvnw -B -nsu -Pci -pl :connector-seatunnel-e2e-base -am \ -DskipUT=true -DskipIT=false -Dskip.ui=true \ -Dlicense.skipAddThirdParty=true \ '-Dit.test=CheckpointCoordinatorFailoverIT#testStreamJobFailsAfterCheckpointTriggerDispatchFailure' \ -Dfailsafe.failIfNoSpecifiedTests=false -DfailIfNoTests=false clean verify ``` ### Check list - [x] Updated the existing E2E regression test and retained its specific failure-path assertions. - [x] No new dependencies or JAR packages. - [x] No user-facing or incompatible changes; documentation and connector registration updates are not applicable. -- 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]
