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

Reply via email to