[ https://issues.apache.org/jira/browse/KAFKA-6812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16523867#comment-16523867 ]
Stanislav Kozlovski commented on KAFKA-6812: -------------------------------------------- I believe this current behavior is correct. You generally exit with a status code different of 0 when something unexpected happens. The console producer is given a `ErrorLoggingCallback` class, whose responsibility is to swallow errors and simply log them - https://github.com/apache/kafka/blob/581adb5013ed996705031ca8dd9e175c40675692/core/src/main/scala/kafka/tools/ConsoleProducer.scala#L75. I believe nothing unexpected has happened, therefore it should exit with 0 > Async ConsoleProducer exits with 0 status even after data loss > -------------------------------------------------------------- > > Key: KAFKA-6812 > URL: https://issues.apache.org/jira/browse/KAFKA-6812 > Project: Kafka > Issue Type: Bug > Components: tools > Affects Versions: 1.1.0 > Reporter: Andras Beni > Assignee: Stanislav Kozlovski > Priority: Minor > > When {{ConsoleProducer}} is run without {{--sync}} flag and one of the > batches times out, {{ErrorLoggingCallback}} logs the error: > {code:java} > 18/04/21 04:23:01 WARN clients.NetworkClient: [Producer > clientId=console-producer] Connection to node 10 could not be established. > Broker may not be available. > 18/04/21 04:23:02 ERROR internals.ErrorLoggingCallback: Error when sending > message to topic my-topic with key: null, value: 8 bytes with error: > org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for > my-topic-0: 1530 ms has passed since batch creation plus linger time{code} > However, the tool exits with status code 0. > In my opinion the tool should indicate in the exit status that there was > data lost. Maybe it's reasonable to exit after the first error. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)