yzeng1618 commented on PR #12769: URL: https://github.com/apache/seatunnel/pull/12769#issuecomment-6397624061
Hi @DanielLeens @ryanmeowy, I pushed 1ce3d2e2a0 to address the remaining Issue 1 (IT exercises only a test-local executor): - `JdbcPostgresIT#testDeadlockRetryWithRealUpsertExecutor` builds both writers through the production wiring (`JdbcOutputFormatBuilder` -> `BufferReducedBatchStatementExecutor`, manual commit with `commitOnFlush`). Two connections flush the same 40 pre-seeded keys in opposite primary-key order from a shared barrier, so PostgreSQL reports a real 40P01 for one flush; the test asserts the conflict via the `pg_stat_database.deadlocks` counter (the scenario retries up to 3 times in the rare case the batches do not overlap) and that every row was rewritten by the replay, so a lost-buffer regression in the real executors' batch reset would fail. - `JdbcPostgresIT#testUpsertBatchKeyOrderedMixedUpsertAndDelete` runs a mixed upsert/delete batch under `upsert_batch_key_ordered=true` and uses AFTER UPDATE/DELETE triggers to record the execution order, asserting the option reaches the real executor and entries land in primary-key order (U1, D2, U3, D4, U5) with the expected final table contents. I also added the short comment at the auto-commit fall-through in `JdbcOutputFormat.flush()` suggested in section 3.2. `spotless:apply` is clean; CI is running on the new head. -- 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]
