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.
Wire Diagram
Response Header · flexible
message_size
int32 · 4B
correlation_id
int32 · 4B
tagged
var
EndTxnResponse v5
ThrottleTimeMs
int32 · 4B
ErrorCode
int16 · 2B
ProducerId
int64 · 8B
ProducerEpoch
int16 · 2B
tagged
var
Schema & Example
Schema { "ThrottleTimeMs": int32, "ErrorCode": int16, "ProducerId": int64, "ProducerEpoch": int16 }
Example { "ThrottleTimeMs": 0, "ErrorCode": 0, "ProducerId": 0, "ProducerEpoch": 12 }