Martijn Visser created FLINK-41136:
--------------------------------------

             Summary: Exactly-once JdbcSink in BATCH mode fails for good after 
its committer restarts mid-commit
                 Key: FLINK-41136
                 URL: https://issues.apache.org/jira/browse/FLINK-41136
             Project: Flink
          Issue Type: Bug
          Components: Connectors / JDBC
            Reporter: Martijn Visser
            Assignee: Martijn Visser
             Fix For: jdbc-5.0.0


In BATCH mode the committer is its own failover region. If it fails after 
committing some transactions, the restarted attempt has no restored checkpoint, 
so {{JdbcCommitter}} treats an unknown xid as lost and fails on the first 
transaction it already committed, on every attempt. The remaining transactions 
stay prepared until someone resolves them by hand. Reproduced with the 
FLINK-41060 changes at parallelism 2 and one injected XAER_RMERR on the second 
commit. Ignoring unknown xids after any restart would fix BATCH but hide a lost 
transaction in streaming, so the committer needs to know it runs in BATCH mode.




--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to