det101 commented on PR #12014: URL: https://github.com/apache/seatunnel/pull/12014#issuecomment-5502967006
Thanks @DanielLeens for the thorough review. **Issue 1 (High) — agreed, fixed in 1548efa32** `JdbcExactlyOnceSinkWriter.prepareCommit()` only XA-prepares; committing on a second connection before `TRUNCATE` would hang on MySQL MDL (and a later XA commit could resurrect truncated rows). TRUNCATE is DDL and cannot join a prepared XA transaction, so committing first would also break exactly-once. The XA writer now overrides `applyTableOperation` and fail-fasts with `UnsupportedOperationException`. JDBC sink must keep `exactly_once = false` (the default). Covered by `JdbcExactlyOnceSinkWriterTest.applyTableOperationIsRejectedOnXaWriter`, and documented in `docs/en` + `docs/zh` (`MySQL-CDC.md` / `Jdbc.md`). **Issue 2 (Low) — no code change** `TruncateTableEvent.jobId` is populated the same way as `SchemaChangeEvent`: `IncrementalSourceRecordEmitter` calls `eventListener.onEvent(event)`, and `JobEventListener` / `DefaultEventProcessor` set `jobId`. The field is required by the `Event` interface; only a Javadoc was added to make that path explicit. -- 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]
