SEZ9 opened a new pull request, #12454:
URL: https://github.com/apache/seatunnel/pull/12454
### Purpose of this pull request
Fix shared engine and connector regressions exercised by CI. These changes
were previously included in #12298 and #12299 and are extracted here so that
the two REST feature PRs remain focused.
- Complete engine task cancellation when a worker leaves or startup/recovery
fails, including late terminal-state completion. Regression tests cover lost
members, startup failure, and state cleanup.
- Preserve PostgreSQL CDC rows at a restored transaction boundary, where a
commit and the next row can share an LSN. Backport the relevant WAL-position
handling against the existing Debezium version, with offset and
savepoint-recovery coverage.
- Stabilize existing backpressure, checkpoint-failover, split-cluster,
FilterRowKind, and PayPal fixtures. Retain the previously introduced runtime
allowances for the transform and JDBC integration jobs.
This includes production fixes exposed by CI, test fixtures, paired
English/Chinese documentation, and two existing workflow timeout adjustments.
It does not add a dependency-version upgrade. The CDC schema-disabled behavior
fix is already on `dev` and is excluded.
### Does this PR introduce _any_ user-facing change?
Yes. Jobs can finish cancellation after worker loss and return failure after
exhausting startup/recovery retries. PostgreSQL CDC recovery preserves rows at
transaction boundaries; older savepoints remain readable and ambiguous
boundaries may replay a row to avoid data loss. These behaviors are documented
in English and Chinese.
### How was this patch tested?
Locally on OpenJDK 11, on commit `a15bdf90c269`:
- `./mvnw spotless:apply` — passed; working tree clean.
- `./mvnw -q -DskipTests verify` — passed for the full reactor.
- Engine regression classes: `CoordinatorServiceLostMemberResolutionTest`,
`TaskExecutionServiceTest`, and `StateTransitionCleanupTest` — 32 cases passed.
- Connector regression classes: `LsnOffsetTest` and `PayPalClientTest` — 32
cases passed. The initial combined reactor hit a JUnit launcher startup error
at PostgreSQL; rerunning the connector modules separately completed
successfully. No test assertions failed or were skipped.
The full build used an existing local dependency cache after an initial
download-bound attempt was stopped. The selected regression classes executed
all 64 cases, including parameterized/repeated cases.
```bash
./mvnw -Pci -pl :seatunnel-engine-server -am \
-DskipUT=false -DskipIT=true \
'-Dtest=CoordinatorServiceLostMemberResolutionTest,TaskExecutionServiceTest,StateTransitionCleanupTest'
\
-DfailIfNoTests=false -Dsurefire.failIfNoSpecifiedTests=false \
-Dskip.ui=true -Dlicense.skipAddThirdParty=true verify
./mvnw -Pci -pl :connector-cdc-postgres,:connector-http-paypal -am \
-DskipUT=false -DskipIT=true '-Dtest=LsnOffsetTest,PayPalClientTest' \
-DfailIfNoTests=false -Dsurefire.failIfNoSpecifiedTests=false \
-Dskip.ui=true -Dlicense.skipAddThirdParty=true verify
```
The extracted changes were also checked structurally: combining this branch
with either cleaned REST feature branch produces exactly the same source tree
as merging that original PR head with the current `dev` base.
### Check list
- [x] No new dependencies or binary packages.
- [x] English and Chinese behavior documentation updated.
- [x] Existing test assertions retained; no new test exclusions.
- [x] Regression coverage included for engine cancellation/startup and
PostgreSQL recovery.
--
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]