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]

Reply via email to