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)