Pascal Gélinas created KAFKA-6744: ------------------------------------- Summary: MockProducer with transaction enabled doesn't fail on commit if a record was failed Key: KAFKA-6744 URL: https://issues.apache.org/jira/browse/KAFKA-6744 Project: Kafka Issue Type: Bug Components: producer Affects Versions: 1.0.0 Reporter: Pascal Gélinas
The KafkaProducer#send documentation states the following: When used as part of a transaction, it is not necessary to define a callback or check the result of the future in order to detect errors from send. If any of the send calls failed with an irrecoverable error, the final commitTransaction() call will fail and throw the exception from the last failed send. So I was expecting the following to throw an exception: {{*MockProducer*<String, byte[]> producer = new MockProducer<>(false,}} {{ new StringSerializer(), new ByteArraySerializer());}} {{producer.initTransactions();}} {{producer.beginTransaction();}} {{producer.send(new ProducerRecord<>("foo", new byte[]{}));}} {{producer.errorNext(new RuntimeException());}} {{producer.commitTransaction(); // Expecting this to throw}} Unfortunately, the commitTransaction() call returns successfully. -- This message was sent by Atlassian JIRA (v7.6.3#76005)