hutiefang76 opened a new pull request, #12997: URL: https://github.com/apache/seatunnel/pull/12997
### Purpose of this pull request Yes, I am contributing this test-only fix to Apache SeaTunnel. Closes #12959. The initial/latest-stop case can check the sink value while its bounded job is still processing the snapshot. The [original JDK 17 failure](https://github.com/hutiefang76/seatunnel/actions/runs/39772122616/job/120703047205) timed out reading `bulk` instead of the post-snapshot `latest-stop` update. The failing source is [commit `91d1078a`](https://github.com/hutiefang76/seatunnel/blob/91d1078a3790cf0bcdfbda5cd235c28ec8a95219/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cdc-mysql-e2e/src/test/java/org/apache/seatunnel/connectors/seatunnel/cdc/mysql/MysqlCDCStopModeSpecificIT.java#L441-L454), with the [existing latest-stop configuration](https://github.com/hutiefang76/seatunnel/blob/91d1078a3790cf0bcdfbda5cd235c28ec8a95219/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cdc-mysql-e2e/src/test/resources/mysqlcdc_stop_mode_latest.conf#L32-L40). The [original Failsafe reports](https://github.com/hutiefang76/seatunnel/actions/runs/39772122616/artifacts/12467842508) are availabl e for comparison. Move the existing `FINISHED` wait and successful job-exit check before the final sink-value assertion. The readiness gate, fixture data, seven stop-mode cases and existing 120/30/60-second bounds remain unchanged. This follows the completion-before-value-check pattern used by the two specific-stop cases. This is a test-ordering fix, not evidence of a connector data-loss defect. ### Does this PR introduce _any_ user-facing change? No. Only `MysqlCDCStopModeSpecificIT.java` changes. The production connector and job configurations are unchanged. ### How was this patch tested? Final source under test: `d0133119267adeb020fb2182de79a628180346b7`. - [Native fork Build](https://github.com/hutiefang76/seatunnel/actions/runs/40347742877) passed. The MySQL CDC [JDK 11](https://github.com/hutiefang76/seatunnel/actions/runs/40347742877/job/121686573465) and [JDK 17](https://github.com/hutiefang76/seatunnel/actions/runs/40347742877/job/121686573468) jobs each executed 141 connector tests with zero failures, errors or skips, including all seven `MysqlCDCStopModeSpecificIT` cases. Formatting, license and sanity checks passed; unrelated jobs were conditionally skipped. - A separate [pinned-source Linux AMD64 run](https://github.com/hutiefang76/seatunnel/actions/runs/40348992917) executed the seven stop-mode cases three consecutive times on the same final source, using an outer Temurin 17 JVM, the existing Zeta fixture and real MySQL. All 21 executions passed with zero failures, errors or skips. The [per-round XML and provenance artifact](https://github.com/hutiefang76/seatunnel/actions/runs/40348992917/artifacts/12664314077) retains each round separately and checks the exact method set. The fork-only validation workflow is not part of this PR. - A [real-MySQL negative control](https://github.com/hutiefang76/seatunnel/actions/runs/40242101033) on earlier source `50c37bd7` deliberately rewrote the target sink value from `latest-stop` to `bulk` using database triggers. After `FINISHED` and a successful job exit, the unchanged value assertion still failed with its original `ConditionTimeoutException`; the database audit recorded one blocked write. All seven cases executed: six passed and one produced the expected error, with no skips. Its [XML, source hashes, database proof and fault diff](https://github.com/hutiefang76/seatunnel/actions/runs/40242101033/artifacts/12617778750) are separate from this patch. That negative control was not run on the entire final merged tree; the changed test class is byte-identical between those revisions. - Local final-head checks on macOS ARM64 / JDK 17 passed: root `spotless:apply` left the worktree unchanged, and `./mvnw -o -q -DskipTests verify` passed. The latter does not execute tests; runtime evidence is listed above. The focused native command, repeated three times, was: ```sh RUN_ENGINES=zeta TEST_IN_PR=true TESTCONTAINERS_RYUK_DISABLED=true \ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false \ -Dlicense.skipAddThirdParty=true -Dskip.ui=true --no-snapshot-updates \ -pl :connector-cdc-mysql-e2e -am -Pci \ -Dit.test=MysqlCDCStopModeSpecificIT \ -DfailIfNoTests=false -Dit.failIfNoSpecifiedTests=false ``` Investigation, implementation and automated review were assisted by Codex and DeepSeek. ### Check list - [x] No new JARs or dependencies; additional License/Notice entries are not applicable. - [x] No feature, API, configuration or compatibility change; documentation and incompatible-change notes are not applicable. - [x] Existing E2E fixture and assertions are retained; no connector registration change is needed. -- 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]
