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]

Reply via email to