[ 
https://issues.apache.org/jira/browse/FLINK-41194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated FLINK-41194:
-----------------------------------
    Labels: pull-request-available  (was: )

> Use PulsarAdmin to make PulsarSink transaction commits idempotent during 
> recovery
> ---------------------------------------------------------------------------------
>
>                 Key: FLINK-41194
>                 URL: https://issues.apache.org/jira/browse/FLINK-41194
>             Project: Flink
>          Issue Type: Bug
>          Components: Connectors / Pulsar
>    Affects Versions: 2.0.0
>            Reporter: Yubiao Feng
>            Priority: Major
>              Labels: pull-request-available
>
> The Pulsar sink currently retries transaction commits during checkpoint 
> recovery without checking the transaction state first. If the transaction was 
> already committed before the recovery attempt, committing it again may fail 
> with an exception and cause recovery to fail.
> Restore the {{PulsarAdmin}} construction support removed by 
> [FLINK-32938|https://github.com/apache/flink-connector-pulsar/pull/59], 
> including the admin URL configuration.
> Before committing a transaction, use {{PulsarAdmin}} to inspect the latest 
> published message state:
>  * If the transaction is still uncommitted, commit it.
>  * If it has already been committed, mark the request as already committed.
>  * If it has been aborted, fail the request with a known reason.
>  * Retry when the transaction state cannot be queried temporarily.
> This makes PulsarSink transaction commits idempotent during checkpoint 
> recovery.



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

Reply via email to