det101 commented on PR #12014:
URL: https://github.com/apache/seatunnel/pull/12014#issuecomment-5807092732

   Thanks @SEZ9 — F1 follow-up addressed at `25baad9e3`.
   
   **1. Docs (failed TRUNCATE after a successful flush)**
   
   `docs/en/connectors/sink/Jdbc.md` (and `docs/zh`) now state explicitly that 
flush and `TRUNCATE` are not one transaction: `TRUNCATE TABLE` is DDL and 
commits immediately. If flush succeeds and then `TRUNCATE` fails (FK constraint 
/ missing privilege), the flushed rows stay committed; restore replays those 
rows plus the pending `TRUNCATE`. The replayed truncate is idempotent, but that 
window can still produce duplicates. The same wording is in `docs/en` + 
`docs/zh` `MySQL-CDC.md` so the source/sink FAQs stay aligned.
   
   **2. XA + TRUNCATE rejection test**
   
   The check from `1a4f2d32` is exercised by 
`JdbcExactlyOnceSinkWriterTest.applyTableOperationIsRejectedOnXaWriter`. It is 
a **runtime** fail-fast on `JdbcExactlyOnceSinkWriter.applyTableOperation`, not 
job-submission config validation: the XA writer throws 
`UnsupportedOperationException` before `prepareCommit()` / any XA method 
(`verify(xaFacade, never()).endAndPrepare(...)`).
   
   F4 (mid-flight restore between truncate and the next completed checkpoint) 
is still the existing E2E gap; not expanded in this commit.


-- 
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