You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2019/08/25 20:55:00 UTC

[jira] [Commented] (KAFKA-8586) Source task producers silently fail to send records

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

ASF GitHub Bot commented on KAFKA-8586:
---------------------------------------

rhauch commented on pull request #6993: KAFKA-8586: Fail source tasks when producers fail to send records
URL: https://github.com/apache/kafka/pull/6993
 
 
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Source task producers silently fail to send records
> ---------------------------------------------------
>
>                 Key: KAFKA-8586
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8586
>             Project: Kafka
>          Issue Type: Bug
>          Components: KafkaConnect
>    Affects Versions: 2.3.0
>            Reporter: Chris Egerton
>            Assignee: Chris Egerton
>            Priority: Major
>
> The Connect framework marks source records as successfully sent when they are dispatched to the producer, instead of when they are actually sent to Kafka. [This is assumed to be good enough|https://github.com/apache/kafka/blob/3e9d1c1411c5268de382f9dfcc95bdf66d0063a0/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/WorkerSourceTask.java#L324-L331] since the Connect framework sets up its producer to use infinite retries on retriable errors, but in the case of an authorization or authentication failure with a secured Kafka broker, the errors aren't retriable and cause the producer to invoke its send callback with an exception and then give up on sending the message. This is a problem since the callback currently used by the WorkerSourceTask class when it invokes Producer.send(...) logs the exception and does nothing else. This leads to data loss since the source offsets for those failed records are committed, and the status of the task is never affected so users may not even know that something is wrong unless they check the worker log files or notice that data isn't flowing into Kafka. Until and unless someone does notice that something's wrong, the task will continue processing records and committing offsets, even though nothing is making it into Kafka.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)