conduktor.io ↗

Kafka ShareAcknowledge Response Wire Format v1 — Binary Protocol Layout

What is ShareAcknowledge?

Share group consumers mark fetched records as accepted (committed), released (put back), or rejected (dead-letter) without fetching new records (KIP-932). The ability to reject records makes share groups suitable for workloads where failed records should route to a DLQ rather than retry forever.

Related Errors

FENCED_STATE_EPOCH · GROUP_AUTHORIZATION_FAILED · INVALID_RECORD_STATE · INVALID_REQUEST · INVALID_SHARE_SESSION_EPOCH · SHARE_SESSION_NOT_FOUND · UNSUPPORTED_VERSION

Wire Diagram

Response Header · flexible
message_size int32 · 4B
correlation_id int32 · 4B
tagged var
ShareAcknowledgeResponse v1
ThrottleTimeMs int32 · 4B
ErrorCode int16 · 2B
ErrorMessage? string (compact)
Responses array
NodeEndpoints array
tagged var
TopicId uuid · 16B
Partitions array
tagged var
PartitionIndex int32 · 4B
ErrorCode int16 · 2B
ErrorMessage? string (compact)
CurrentLeader struct
tagged var
LeaderId int32 · 4B
LeaderEpoch int32 · 4B
tagged var
NodeId int32 · 4B
Host string (compact)
Port int32 · 4B
Rack? string (compact)
tagged var

Schema & Example

Schema
{
  "ThrottleTimeMs": int32,
  "ErrorCode": int16,
  "ErrorMessage": string?,
  "Responses": [{
      "TopicId": uuid,
      "Partitions": [{
          "PartitionIndex": int32,
          "ErrorCode": int16,
          "ErrorMessage": string?,
          "CurrentLeader": {
            "LeaderId": int32,
            "LeaderEpoch": int32
          }
      }]
  }],
  "NodeEndpoints": [{
      "NodeId": int32,
      "Host": string,
      "Port": int32,
      "Rack": string?
  }]
}
Example
{
  "ThrottleTimeMs": 0,
  "ErrorCode": 0,
  "ErrorMessage": "NETWORK_EXCEPTION",
  "Responses": [{
      "TopicId": "550e8400-e29b-41d4-a716-446655440000",
      "Partitions": [{
          "PartitionIndex": 3,
          "ErrorCode": 0,
          "ErrorMessage": "NETWORK_EXCEPTION",
          "CurrentLeader": {
            "LeaderId": 1,
            "LeaderEpoch": 17
          }
      }]
  }],
  "NodeEndpoints": [{
      "NodeId": 1,
      "Host": "broker-1.kafka.local",
      "Port": 9092,
      "Rack": "us-east-1a"
  }]
}