kafka/checkstyle
Bob Barrett 937f1f741c
KAFKA-8805; Bump producer epoch on recoverable errors (#7389)
This change is the client-side part of KIP-360. It identifies cases where it is safe to abort a transaction, bump the producer epoch, and allow the application to continue without closing the producer. In these cases, when KafkaProducer.abortTransaction() is called, the producer sends an InitProducerId following the transaction abort, which causes the producer epoch to be bumped. The application can then start a new transaction and continue processing.

For recoverable errors in the idempotent producer, the epoch is bumped locally. In-flight requests for partitions with an error are rewritten to reflect the new epoch, and in-flights of all other partitions are allowed to complete using the old epoch. 

Reviewers: Boyang Chen <boyang@confluent.io>, Jason Gustafson <jason@confluent.io>
2020-02-15 22:47:10 -08:00
..
.scalafmt.conf MINOR: Add Scalafmt to Streams Scala API (#4965) 2018-07-09 16:48:34 -07:00
checkstyle.xml KAFKA-7308: Fix rat and checkstyle config for Java 11 support (#5529) 2018-08-18 08:18:28 -07:00
import-control-core.xml KAFKA-9106 make metrics exposed via jmx configurable (#7674) 2020-02-13 10:21:14 -08:00
import-control-jmh-benchmarks.xml KAFKA-9039: Optimize ReplicaFetcher fetch path (#7443) 2019-10-16 09:49:53 -07:00
import-control.xml KAFKA-9556; Fix two issues with KIP-558 and expand testing coverage (#8085) 2020-02-14 14:34:34 -08:00
java.header MINOR: improve license header check by providing head file instead of (prefix) header regex 2017-02-28 12:35:04 -08:00
suppressions.xml KAFKA-8805; Bump producer epoch on recoverable errors (#7389) 2020-02-15 22:47:10 -08:00