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