[ 
https://issues.apache.org/jira/browse/KAFKA-14021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17860162#comment-17860162
 ] 

Pritam Kumar commented on KAFKA-14021:
--------------------------------------

Yes [~ChrisEgerton] the thing is the consumer will poll the records and if 
TransactionBoundary is set to poll the transaction will start and the producer 
will producer the records to the destination cluster and commit the offsets to 
the global or user configured offset topic and transaction will end. Now 
task.commit is called and suppose this commit is failed. After this if the task 
is started the consumer will again poll from the last offset only and the 
records will be duplicated in the destination cluster. 

I hope I understood this correctly, but what I meant to say without "offset 
syncs" can we guarantee exactly once delivery of records.

> MirrorMaker 2 should implement KIP-618 APIs
> -------------------------------------------
>
>                 Key: KAFKA-14021
>                 URL: https://issues.apache.org/jira/browse/KAFKA-14021
>             Project: Kafka
>          Issue Type: Improvement
>          Components: connect, mirrormaker
>            Reporter: Chris Egerton
>            Assignee: Chris Egerton
>            Priority: Major
>             Fix For: 3.5.0
>
>
> The {{MirrorSourceConnector}} class should implement the new APIs added by 
> KIP-618.
> This includes the 
> [SourceConnector::exactlyOnceSupport|https://github.com/apache/kafka/blob/025e47b8334eb7125c7fdd2f725a2fef3c98344c/connect/api/src/main/java/org/apache/kafka/connect/source/SourceConnector.java#L34-L54]
>  method and, potentially, the 
> [SourceConnector::canDefineTransactionBoundaries|https://github.com/apache/kafka/blob/025e47b8334eb7125c7fdd2f725a2fef3c98344c/connect/api/src/main/java/org/apache/kafka/connect/source/SourceConnector.java#L56-L73]
>  method.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to