conduktor.io ↗

Kafka EndTxn Changelog — Protocol Version History

What is EndTxn?

Commits or aborts a transaction (committed=true or false). If a producer crashes without calling EndTxn, the transaction coordinator aborts it after transaction.timeout.ms, blocking read_committed consumers on that partition until the abort marker is written.

VersionKafkaChanges
EndTxnRequest
v02.2
+ TransactionalId string
+ ProducerId int64
+ ProducerEpoch int16
+ Committed bool
v12.2
is the same as version 0.
v22.7
adds the support for new error code PRODUCER_FENCED.
v32.8
~ Flexible encoding enabled FLEXIBLE
enables flexible versions.
v43.8
adds support for new error code TRANSACTION_ABORTABLE (KIP-890).
v54.0
enables bumping epoch on every transaction (KIP-890 Part 2)
EndTxnResponse
v02.2
+ ThrottleTimeMs int32
+ ErrorCode int16
v12.2
on quota violation, brokers send out responses before throttling.
v22.7
adds the support for new error code PRODUCER_FENCED.
v32.8
~ Flexible encoding enabled FLEXIBLE
enables flexible versions.
v43.8
adds support for new error code TRANSACTION_ABORTABLE (KIP-890).
v54.0
+ ProducerId int64
+ ProducerEpoch int16
enables bumping epoch on every transaction (KIP-890 Part 2), so producer ID and epoch are included in the response.