[ https://issues.apache.org/jira/browse/FLINK-13535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16899028#comment-16899028 ]
Jiangjie Qin commented on FLINK-13535: -------------------------------------- Resolved via 1.10 ad0d5c8e256e6db5f6a51e6374cdc262283c912d > 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 > Priority: Major > Labels: pull-request-available > Time Spent: 20m > Remaining Estimate: 0h > > 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)