conduktor.io ↗

KIP-588 — Allow producers to recover gracefully from transaction timeouts

Accepted TransactionsProducer

Adds a TRANSACTION_TIMED_OUT error code returned when a producer's transaction times out, allowing the same producer instance to recover by re-initializing with the bumped epoch via InitProducerId rather than requiring the application to create a new producer. Previously, a timed-out transaction surfaced as a fatal ProducerFencedException indistinguishable from being fenced by a competing producer, forcing unnecessary producer reconstruction.

Details

AuthorBoyang Chen
StatusAccepted
JIRAKAFKA-9803
WikiView on Apache Wiki
Created2020-04-02
Last Modified2022-08-16
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.