conduktor.io ↗

Kafka DescribeTransactions Response Wire Format v0 — Binary Protocol Layout

What is DescribeTransactions?

Returns the state of specific transactions via kafka-transactions.sh --describe. A transaction stuck in ONGOING state beyond its timeout is either a zombie producer that crashed mid-transaction or a slow producer still committing; read_committed consumers are blocked until it resolves.

Related Errors

TRANSACTIONAL_ID_AUTHORIZATION_FAILED

Wire Diagram

Response Header · flexible
message_size int32 · 4B
correlation_id int32 · 4B
tagged var
DescribeTransactionsResponse v0
ThrottleTimeMs int32 · 4B
TransactionStates array
tagged var
ErrorCode int16 · 2B
TransactionalId string (compact)
TransactionState string (compact)
TransactionTimeoutMs int32 · 4B
TransactionStartTimeMs int64 · 8B
ProducerId int64 · 8B
ProducerEpoch int16 · 2B
Topics array
tagged var
Topic string (compact)
Partitions []int32
tagged var

Schema & Example

Schema
{
  "ThrottleTimeMs": int32,
  "TransactionStates": [{
      "ErrorCode": int16,
      "TransactionalId": string,
      "TransactionState": string,
      "TransactionTimeoutMs": int32,
      "TransactionStartTimeMs": int64,
      "ProducerId": int64,
      "ProducerEpoch": int16,
      "Topics": [{
          "Topic": string,
          "Partitions": [int32]
      }]
  }]
}
Example
{
  "ThrottleTimeMs": 0,
  "TransactionStates": [{
      "ErrorCode": 0,
      "TransactionalId": "tx-orders-001",
      "TransactionState": "CompleteCommit",
      "TransactionTimeoutMs": 5000,
      "TransactionStartTimeMs": 0,
      "ProducerId": 0,
      "ProducerEpoch": 12,
      "Topics": [{
          "Topic": "orders",
          "Partitions": [1, 2, 3]
      }]
  }]
}