xinnyuli commented on issue #12624:
URL: https://github.com/apache/seatunnel/issues/12624#issuecomment-6036814362

   @SEZ9 Thanks for the careful review! I checked 1(b) and you're right to ask: 
it isn't covered yet. The marker lives in each table's JdbcOutputFormat, but 
writers in the same queue share one pooled connection 
(poolManager.getConnection(queueIndex)), so table B can't see table A's 
uncommitted batches. Also, getConnection(index) silently replaces a dead 
connection, so B could commit on the new connection without ever seeing an 
error, before A fails.
   
   My plan is to move the marker to a tracker shared per queue index (kept in 
ConnectionPoolManager, exposed through the provider), so every writer on that 
connection sees it, and add a test where two tables share the same queue index.
   
   One question: if one writer does a full rollback on the shared connection, 
the other tables' flushed batches are rolled back too, but the connection 
object stays the same, so the commit check would still pass. Should a rollback 
with pending batches make later commits on that connection fail? And would you 
like all of this in #12625, or as a follow-up?
   
   I've updated the PR description for points 2 and 3.


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