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.
Wire Diagram
Request Header · flexible
message_size
int32 · 4B
api_key
int16 · 2B
api_version
int16 · 2B
correlation_id
int32 · 4B
client_id
string (compact)
tagged
var
ShareAcknowledgeRequest v1
GroupId?
string (compact)
MemberId?
string (compact)
ShareSessionEpoch
int32 · 4B
tagged
var
TopicId
uuid · 16B
tagged
var
PartitionIndex
int32 · 4B
tagged
var
FirstOffset
int64 · 8B
LastOffset
int64 · 8B
AcknowledgeTypes
[]int8
tagged
var
Schema & Example
Schema { "GroupId": string?, "MemberId": string?, "ShareSessionEpoch": int32, "Topics": [{ "TopicId": uuid, "Partitions": [{ "PartitionIndex": int32, "AcknowledgementBatches": [{ "FirstOffset": int64, "LastOffset": int64, "AcknowledgeTypes": [int8] }] }] }] }
Example { "GroupId": null, "MemberId": null, "ShareSessionEpoch": 12, "Topics": [{ "TopicId": "550e8400-e29b-41d4-a716-446655440000", "Partitions": [{ "PartitionIndex": 3, "AcknowledgementBatches": [{ "FirstOffset": 150382, "LastOffset": 150382, "AcknowledgeTypes": [...] }] }] }] }