Nico Kruber created FLINK-13535:
-----------------------------------
Summary: Do not abort transactions twice during KafkaProducer startup
Key: FLINK-13535
URL:
https://issues.apache.org/jira/browse/FLINK-13535 Project: Flink
Issue Type: Improvement
Components: Connectors / Kafka
Affects Versions: 1.8.1, 1.9.0
Reporter: Nico Kruber
Assignee: Nico Kruber
During startup of a transactional Kafka producer from previous state, we recover in two steps:
# in {{TwoPhaseCommitSinkFunction}}, we commit pending commit-transactions and abort pending transactions and then call into {{finishRecoveringContext()}}
# in {{FlinkKafkaProducer#finishRecoveringContext()}} we iterate over all recovered transaction IDs and abort them
This may lead to some transactions being worked on twice. Since this is quite some expensive operation, we unnecessarily slow down the job startup but could easily give {{finishRecoveringContext()}} a set of transactions that {{TwoPhaseCommitSinkFunction}} already covered instead.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)