Mattia Barbon created KAFKA-8726:
------------------------------------

             Summary: Producer can't abort a transaction aftersome send errors
                 Key: KAFKA-8726
                 URL: https://issues.apache.org/jira/browse/KAFKA-8726
             Project: Kafka
          Issue Type: Bug
          Components: clients, producer 
    Affects Versions: 2.3.0
            Reporter: Mattia Barbon


I am following the producer with transactions example in 
[https://kafka.apache.org/23/javadoc/org/apache/kafka/clients/producer/KafkaProducer.html,]
 and on kafkaException, I use abortTransaction and retry.

 

In some cases, abortTransaction fails, with:

```

org.apache.kafka.common.KafkaException: Cannot execute transactional method 
because we are in an error state

```

as far as I can tell, this is caused by

```

org.apache.kafka.common.KafkaException: The client hasn't received 
acknowledgment for some previously sent messages and can no longer retry them. 
It isn't safe to continue.
```

 

Since both are KafkaException, the example seems to imply they are retriable, 
but they seem not to be. Ideally, I would expect abortTransaction to succeed in 
this case (the broker will abort the transaction anyway because it can't be 
committed), but at the very least, I would expect to have a way to determine 
that the producer is unusable and it can't recover.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to