hutiefang76 commented on PR #12498:
URL: https://github.com/apache/seatunnel/pull/12498#issuecomment-5863670460

   Thanks, Daniel. I pushed the stage-lifecycle update in 328bbb63d.
   
   Each flush now drops/recreates the temporary stage and scopes both JDBC 
statements with try-with-resources. Writer close drops the remaining stage 
using a fresh statement, so a failed DuckDB INSERT cannot leave cleanup 
dependent on the statement it closed. The pooled connection stays open; cleanup 
failures retain their suppressed exceptions. I chose this lifecycle change 
rather than claiming flat RSS from a small workload.
   
   The failure test now keeps the target table and its existing row, rejects 
one row through a CHECK constraint, and checks the table immediately for 
partial publication. After explicitly discarding that bad batch, two more 
flushes verify clean reuse. I also added repeated-flush/close coverage, 
injected cleanup failures, and the inherited UNIQUE-key rejection case.
   
   The EN/ZH docs now cover inherited PK/UNIQUE keys, single-target scope, 
partial flushes and batch memory sizing. The test Javadoc and PR description 
state that the real DuckLake file-count check is opt-in and skipped in default 
CI. It ran locally here. JDK 8 and 17 each passed all 25 focused tests and 
module verify; Spotless passed.
   
   I kept validation at the option, factory and writer entry points because the 
inherited key is only known at the factory. The XA documentation correction is 
also tracked separately in #12505; I will remove overlap when that lands.
   


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