Core
| ProduceRequestbroker wire format ↗ | Description | v3 | v4 | v5 | v6 | v7 | v7 | v8 | v8 | v8 | v8 | v9 | v9 | v9 | v9 | v9 | v9 | v9 | v9 | v10 | v11 | v11 | v12 | v13 | v13 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 adds the transactional ID, which is used for authorization when attempting to write transactional data. Version 3 also adds support for Kafka Message Format v2. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 3, but the requester must be prepared to handle a KAFKA_STORAGE_ERROR. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 3. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 3. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 records can be produced using ZStandard compression. See KIP-110. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 response has RecordErrors and ErrorMessage. See KIP-467. | 2.5 | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 is the same as version 9 (KIP-951). | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 | 4.0 is the same as version 11 (KIP-890). Note when produce requests are used in transaction, if transaction V2 (KIP-890 part 2) is enabled, the produce request will also include the function for a AddPartitionsToTxn call. If V2 is disabled, the client can't use produce request version higher than 11 within a transaction. | 4.1 replaces topic names with topic IDs (KIP-516). May return UNKNOWN_TOPIC_ID error code. | 4.2 | |
| TransactionalId string | The transactional ID, or null if the producer is not transactional. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Acks int16 | The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed val.. | ||||||||||||||||||||||||
| TimeoutMs int32 | The timeout to await a response in milliseconds. | ||||||||||||||||||||||||
| TopicData []TopicProduceData | Each topic to produce to. | ||||||||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||||||||
| TopicId uuid | The unique topic ID | ||||||||||||||||||||||||
| PartitionData []PartitionProduceData | Each partition to produce to. | ||||||||||||||||||||||||
| Index int32 | The partition index. | ||||||||||||||||||||||||
| Records records | The record data to be produced. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ProduceResponse wire format ↗ | Description | v3 | v4 | v5 | v6 | v7 | v7 | v8 | v8 | v8 | v8 | v9 | v9 | v9 | v9 | v9 | v9 | v9 | v9 | v10 | v11 | v11 | v12 | v13 | v13 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 is the same as version 2. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 added KAFKA_STORAGE_ERROR as a possible error code. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 added LogStartOffset to filter out spurious OutOfOrderSequenceExceptions on the client. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 added RecordErrors and ErrorMessage to include information about records that cause the whole batch to be dropped. See KIP-467 for details. | 2.5 | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 adds 'CurrentLeader' and 'NodeEndpoints' as tagged fields (KIP-951) | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 | 4.0 is the same as version 10 (KIP-890). | 4.1 replaces topic names with topic IDs (KIP-516). May return UNKNOWN_TOPIC_ID error code. | 4.2 | |
| Responses []TopicProduceResponse | Each produce response. | ||||||||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||||||||
| TopicId uuid | The unique topic ID | ||||||||||||||||||||||||
| PartitionResponses []PartitionProduceResponse | Each partition that we produced to within the topic. | ||||||||||||||||||||||||
| Index int32 | The partition index. | ||||||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||||||||||||
| BaseOffset int64 | The base offset. | ||||||||||||||||||||||||
| LogAppendTimeMs int64 | The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If .. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| LogStartOffset int64 | The log start offset. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||
| RecordErrors []BatchIndexAndErrorMessage | The batch indices of records that caused the batch to be dropped. | ||||||||||||||||||||||||
| BatchIndex int32 | The batch index of the record that caused the batch to be dropped. | ||||||||||||||||||||||||
| BatchIndexErrorMessage string | The error message of the record that caused the batch to be dropped. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | ||||||
| ErrorMessage string | The global error message summarizing the common root cause of the records that caused the batch to be dropped. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | ||||||
| CurrentLeader LeaderIdAndEpoch | The leader broker that the producer should use for future requests. | ||||||||||||||||||||||||
| LeaderId int32 | The ID of the current leader or -1 if the leader is unknown. | -1 | -1 | -1 | -1 | -1 | -1 | ||||||||||||||||||
| LeaderEpoch int32 | The latest known leader epoch. | -1 | -1 | -1 | -1 | -1 | -1 | ||||||||||||||||||
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| NodeEndpoints []NodeEndpoint | Endpoints for all current-leaders enumerated in PartitionProduceResponses, with errors NOT_LEADER_OR_FOLLOWER. | ||||||||||||||||||||||||
| NodeId int32 | The ID of the associated node. | ||||||||||||||||||||||||
| Host string | The node's hostname. | ||||||||||||||||||||||||
| Port int32 | The node's port. | ||||||||||||||||||||||||
| Rack string | The rack of the node, or null if it has not been assigned to a rack. | null | null | null | null | null | null |
| FetchRequestbrokercontroller wire format ↗ | Description | v4 | v5 | v6 | v7 | v8 | v9 | v10 | v11 | v11 | v11 | v11 | v12 | v12 | v12 | v13 | v13 | v13 | v13 | v14 | v15 | v15 | v16 | v16 | v17 | v17 | v18 | v18 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 adds IsolationLevel. Starting in version 4, the requestor must be able to handle Kafka log message format version 2. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds LogStartOffset to indicate the earliest available offset of partition data that can be consumed. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 5. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds incremental fetch request support. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 7. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds CurrentLeaderEpoch, as described in KIP-320. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 indicates that we can use the ZStd compression algorithm, as described in KIP-110. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 adds flexible versions support as well as epoch validation through the `LastFetchedEpoch` field | 2.8 | 3.0 | 3.1 replaces topic names with topic IDs (KIP-516). May return UNKNOWN_TOPIC_ID error code. | 3.2 | 3.3 | 3.4 | 3.5 is the same as version 13 but it also receives a new error called OffsetMovedToTieredStorageException(KIP-405) | 3.5 adds the ReplicaState which includes new field ReplicaEpoch and the ReplicaId. Also, deprecate the old ReplicaId field and set its default value to -1. (KIP-903) | 3.6 | 3.7 is the same as version 15 (KIP-951). | 3.8 | 3.9 adds directory id support from KIP-853 | 4.0 | 4.1 adds high-watermark from KIP-1166 | 4.2 | |
| ClusterId string | The clusterId if known. This is used to validate metadata fetches prior to broker registration. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||||||||
| ReplicaId int32 | The broker ID of the follower, of -1 if this request is from a consumer. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||||||||
| ReplicaState ReplicaState | The state of the replica in the follower. | |||||||||||||||||||||||||||
| ReplicaId int32 | The replica ID of the follower, or -1 if this request is from a consumer. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||||||||||||||||
| ReplicaEpoch int64 | The epoch of this follower, or -1 if not available. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||||||||||||||||
| MaxWaitMs int32 | The maximum time in milliseconds to wait for the response. | |||||||||||||||||||||||||||
| MinBytes int32 | The minimum bytes to accumulate in the response. | |||||||||||||||||||||||||||
| MaxBytes int32 | The maximum bytes to fetch. See KIP-74 for cases where this limit may not be honored. | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff |
| IsolationLevel int8 | This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visi.. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| SessionId int32 | The fetch session ID. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| SessionEpoch int32 | The fetch session epoch, which is used for ordering requests in a session. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||
| Topics []FetchTopic | The topics to fetch. | |||||||||||||||||||||||||||
| Topic string | The name of the topic to fetch. | |||||||||||||||||||||||||||
| TopicId uuid | The unique topic ID. | |||||||||||||||||||||||||||
| Partitions []FetchPartition | The partitions to fetch. | |||||||||||||||||||||||||||
| Partition int32 | The partition index. | |||||||||||||||||||||||||||
| CurrentLeaderEpoch int32 | The current leader epoch of the partition. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||
| FetchOffset int64 | The message offset. | |||||||||||||||||||||||||||
| LastFetchedEpoch int32 | The epoch of the last fetched record or -1 if there is none. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||||||||
| LogStartOffset int64 | The earliest available offset of the follower replica. The field is only used when the request is sent by the follower. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |
| PartitionMaxBytes int32 | The maximum bytes to fetch from this partition. See KIP-74 for cases where this limit may not be honored. | |||||||||||||||||||||||||||
| ReplicaDirectoryId uuid | The directory id of the follower fetching. | |||||||||||||||||||||||||||
| HighWatermark int64 | The high-watermark known by the replica. -1 if the high-watermark is not known and 9223372036854775807 if the feature is not suppo.. | 9223372036854775807 | 9223372036854775807 | |||||||||||||||||||||||||
| ForgottenTopicsData []ForgottenTopic | In an incremental fetch request, the partitions to remove. | |||||||||||||||||||||||||||
| Topic string | The topic name. | |||||||||||||||||||||||||||
| TopicId uuid | The unique topic ID. | |||||||||||||||||||||||||||
| Partitions []int32 | The partitions indexes to forget. | |||||||||||||||||||||||||||
| RackId string | Rack ID of the consumer making this request. |
| FetchResponse wire format ↗ | Description | v4 | v5 | v6 | v7 | v8 | v9 | v10 | v11 | v11 | v11 | v11 | v12 | v12 | v12 | v13 | v13 | v13 | v13 | v14 | v15 | v15 | v16 | v16 | v17 | v17 | v18 | v18 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 adds features for transactional consumption. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds LogStartOffset to indicate the earliest available offset of partition data that can be consumed. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 we may return KAFKA_STORAGE_ERROR as an error code. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds incremental fetch request support. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 8. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 indicates that the response data can use the ZStd compression algorithm, as described in KIP-110. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 adds support for flexible versions, epoch detection through the `TruncationOffset` field, and leader discovery through the `CurrentLeader` field | 2.8 | 3.0 | 3.1 replaces the topic name field with topic ID (KIP-516). | 3.2 | 3.3 | 3.4 | 3.5 is the same as version 13 but it also receives a new error called OffsetMovedToTieredStorageException (KIP-405) | 3.5 is the same as version 14 (KIP-903). | 3.6 | 3.7 adds the 'NodeEndpoints' field (KIP-951). | 3.8 | 3.9 no changes to the response (KIP-853). | 4.0 | 4.1 no changes to the response (KIP-1166) | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||||||||||||||
| ErrorCode int16 | The top level response error code. | |||||||||||||||||||||||||||
| SessionId int32 | The fetch session ID, or 0 if this is not part of a fetch session. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Responses []FetchableTopicResponse | The response topics. | |||||||||||||||||||||||||||
| Topic string | The topic name. | |||||||||||||||||||||||||||
| TopicId uuid | The unique topic ID. | |||||||||||||||||||||||||||
| Partitions []PartitionData | The topic partitions. | |||||||||||||||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no fetch error. | |||||||||||||||||||||||||||
| HighWatermark int64 | The current high water mark. | |||||||||||||||||||||||||||
| LastStableOffset int64 | The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior t.. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| LogStartOffset int64 | The current log start offset. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |
| DivergingEpoch EpochEndOffset | In case divergence is detected based on the `LastFetchedEpoch` and `FetchOffset` in the request, this field indicates the largest .. | |||||||||||||||||||||||||||
| Epoch int32 | The largest epoch. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||||||||
| EndOffset int64 | The end offset of the epoch. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||||||||
| CurrentLeader LeaderIdAndEpoch | The current leader of the partition. | |||||||||||||||||||||||||||
| LeaderId int32 | The ID of the current leader or -1 if the leader is unknown. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||||||||
| LeaderEpoch int32 | The latest known leader epoch. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||||||||
| SnapshotId SnapshotId | In the case of fetching an offset less than the LogStartOffset, this is the end offset and epoch that should be used in the FetchS.. | |||||||||||||||||||||||||||
| EndOffset int64 | The end offset of the epoch. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| Epoch int32 | The largest epoch. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| AbortedTransactions []AbortedTransaction | The aborted transactions. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ProducerId int64 | The producer id associated with the aborted transaction. | |||||||||||||||||||||||||||
| FirstOffset int64 | The first offset in the aborted transaction. | |||||||||||||||||||||||||||
| PreferredReadReplica int32 | The preferred read replica for the consumer to use on its next fetch request. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||||
| Records records | The record data. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| NodeEndpoints []NodeEndpoint | Endpoints for all current-leaders enumerated in PartitionData, with errors NOT_LEADER_OR_FOLLOWER & FENCED_LEADER_EPOCH. | |||||||||||||||||||||||||||
| NodeId int32 | The ID of the associated node. | |||||||||||||||||||||||||||
| Host string | The node's hostname. | |||||||||||||||||||||||||||
| Port int32 | The node's port. | |||||||||||||||||||||||||||
| Rack string | The rack of the node, or null if it has not been assigned to a rack. | null | null | null | null | null | null |
| ListOffsetsRequestbroker wire format ↗ | Description | v1 | v2 | v3 | v4 | v5 | v6 | v7 | v7 | v7 | v7 | v7 | v8 | v8 | v8 | v8 | v9 | v10 | v10 | v11 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 removes MaxNumOffsets. From this version forward, only a single offset can be returned. | 2.8 adds the isolation level, which is used for transactional reads. | 2.8 is the same as version 2. | 2.8 adds the current leader epoch, which is used for fencing. | 2.8 is the same as version 4. | 2.8 enables flexible versions. | 3.0 enables listing offsets by max timestamp (KIP-734). | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 enables listing offsets by local log start offset (KIP-405). | 3.6 | 3.7 | 3.8 | 3.9 enables listing offsets by last tiered offset (KIP-1005). | 4.0 enables async remote list offsets support (KIP-1075) | 4.1 | 4.2 enables listing offsets by earliest pending upload offset (KIP-1023) |
|
| ReplicaId int32 | The broker ID of the requester, or -1 if this request is being made by a normal consumer. | |||||||||||||||||||
| IsolationLevel int8 | This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visi.. | |||||||||||||||||||
| Topics []ListOffsetsTopic | Each topic in the request. | |||||||||||||||||||
| Name string | The topic name. | |||||||||||||||||||
| Partitions []ListOffsetsPartition | Each partition in the request. | |||||||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||||||
| CurrentLeaderEpoch int32 | The current leader epoch. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||
| Timestamp int64 | The current timestamp. | |||||||||||||||||||
| TimeoutMs int32 | The timeout to await a response in milliseconds for requests that require reading from remote storage for topics enabled with tier.. |
| ListOffsetsResponse wire format ↗ | Description | v1 | v2 | v3 | v4 | v5 | v6 | v7 | v7 | v7 | v7 | v7 | v8 | v8 | v8 | v8 | v9 | v10 | v10 | v11 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 also adds the timestamp associated with the returned offset. | 2.8 adds the throttle time. | 2.8 on quota violation, brokers send out responses before throttling. | 2.8 adds the leader epoch, which is used for fencing. | 2.8 adds a new error code, OFFSET_NOT_AVAILABLE. | 2.8 enables flexible versions. | 3.0 is the same as version 6 (KIP-734). | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 enables listing offsets by local log start offset. This is the earliest log start offset in the local log. (KIP-405). | 3.6 | 3.7 | 3.8 | 3.9 enables listing offsets by last tiered offset (KIP-1005). | 4.0 enables async remote list offsets support (KIP-1075) | 4.1 | 4.2 enables listing offsets by earliest pending upload offset (KIP-1023) |
|
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||||||
| Topics []ListOffsetsTopicResponse | Each topic in the response. | |||||||||||||||||||
| Name string | The topic name. | |||||||||||||||||||
| Partitions []ListOffsetsPartitionResponse | Each partition in the response. | |||||||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||||||
| ErrorCode int16 | The partition error code, or 0 if there was no error. | |||||||||||||||||||
| Timestamp int64 | The timestamp associated with the returned offset. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| Offset int64 | The returned offset. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| LeaderEpoch int32 | The leader epoch associated with the returned offset. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| MetadataRequestbroker wire format ↗ | Description | v0 | v1 | v2 | v3 | v4 | v5 | v6 | v7 | v8 | v9 | v9 | v9 | v9 | v10 | v11 | v11 | v12 | v12 | v12 | v12 | v12 | v12 | v12 | v12 | v12 | v13 | v13 | v13 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 1. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 1. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds AllowAutoTopicCreation. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 authorized operations can be requested for cluster and topic resource. | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 should not use the topicId field or set topic name to null. | 2.8 deprecates IncludeClusterAuthorizedOperations field. This is now exposed by the DescribeCluster API (KIP-700). | 3.0 | 3.1 supports topic Id. | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 supports top-level error code in the response. | 4.1 | 4.2 | |
| Topics []MetadataRequestTopic | The topics to fetch metadata for. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |
| TopicId uuid | The topic id. | ||||||||||||||||||||||||||||
| Name string | The topic name. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||||||||||
| AllowAutoTopicCreation bool | If this is true, the broker may auto-create topics that we requested which do not already exist, if it is configured to do so. | true | true | true | true | true | true | true | true | true | true | true | true | true | true | true | true | true | true | true | true | true | true | true | true | ||||
| IncludeClusterAuthorizedOperations bool | Whether to include cluster authorized operations. | ||||||||||||||||||||||||||||
| IncludeTopicAuthorizedOperations bool | Whether to include topic authorized operations. |
| MetadataResponse wire format ↗ | Description | v0 | v1 | v2 | v3 | v4 | v5 | v6 | v7 | v8 | v9 | v9 | v9 | v9 | v10 | v11 | v11 | v12 | v12 | v12 | v12 | v12 | v12 | v12 | v12 | v12 | v13 | v13 | v13 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds fields for the rack of each broker, the controller id, and whether or not the topic is internal. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds the cluster ID field. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds the throttle time. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 3. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds a per-partition offline_replicas field. This field specifies the list of replicas that are offline. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds the leader epoch to the partition metadata. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 brokers can send authorized operations for topic and cluster. | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 adds topicId. | 2.8 deprecates ClusterAuthorizedOperations. This is now exposed by the DescribeCluster API (KIP-700). | 3.0 | 3.1 supports topicId. | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 supports top-level error code in the response. | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||||||||||
| Brokers []MetadataResponseBroker | A list of brokers present in the cluster. | ||||||||||||||||||||||||||||
| NodeId int32 | The broker ID. | ||||||||||||||||||||||||||||
| Host string | The broker hostname. | ||||||||||||||||||||||||||||
| Port int32 | The broker port. | ||||||||||||||||||||||||||||
| Rack string | The rack of the broker, or null if it has not been assigned to a rack. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |
| ClusterId string | The cluster ID that responding broker belongs to. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | ||
| ControllerId int32 | The ID of the controller broker. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |
| Topics []MetadataResponseTopic | Each topic in the response. | ||||||||||||||||||||||||||||
| ErrorCode int16 | The topic error, or 0 if there was no error. | ||||||||||||||||||||||||||||
| Name string | The topic name. Null for non-existing topics queried by ID. This is never null when ErrorCode is zero. One of Name and TopicId is .. | null | null | null | null | null | null | null | null | null | null | null | null | ||||||||||||||||
| TopicId uuid | The topic id. Zero for non-existing topics queried by name. This is never zero when ErrorCode is zero. One of Name and TopicId is .. | ||||||||||||||||||||||||||||
| IsInternal bool | True if the topic is internal. | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | |
| Partitions []MetadataResponsePartition | Each partition in the topic. | ||||||||||||||||||||||||||||
| ErrorCode int16 | The partition error, or 0 if there was no error. | ||||||||||||||||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||||||||||||||||
| LeaderId int32 | The ID of the leader broker. | ||||||||||||||||||||||||||||
| LeaderEpoch int32 | The leader epoch of this partition. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||||
| ReplicaNodes []int32 | The set of all nodes that host this partition. | ||||||||||||||||||||||||||||
| IsrNodes []int32 | The set of nodes that are in sync with the leader for this partition. | ||||||||||||||||||||||||||||
| OfflineReplicas []int32 | The set of offline replicas of this partition. | ||||||||||||||||||||||||||||
| TopicAuthorizedOperations int32 | 32-bit bitfield to represent authorized operations for this topic. | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | ||||||||
| ClusterAuthorizedOperations int32 | 32-bit bitfield to represent authorized operations for this cluster. | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | ||||||||||||||||||||||
| ErrorCode int16 | The top-level error code, or 0 if there was no error. |
| ApiVersionsRequestbrokercontroller wire format ↗ | Description | v0 | v1 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v4 | v4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 through 2 of ApiVersionsRequest are the same. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version and adds ClientSoftwareName and ClientSoftwareVersion. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 fixes KAFKA-17011, which blocked SupportedFeatures.MinVersion in the response from being 0. | 4.0 | 4.1 | 4.2 | |
| ClientSoftwareName string | The name of the client. | ||||||||||||||||||||||
| ClientSoftwareVersion string | The version of the client. |
| ApiVersionsResponse wire format ↗ | Description | v0 | v1 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v4 | v4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds throttle time to the response. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. Tagged fields are only supported in the body but not in the header. The length of the header must not change in order to guarantee the backward compatibility. Starting from Apache Kafka 2.4 (KIP-511), ApiKeys field is populated with the supported versions of the ApiVersionsRequest when an UNSUPPORTED_VERSION error is returned. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 fixes KAFKA-17011, which blocked SupportedFeatures.MinVersion from being 0. | 4.0 | 4.1 | 4.2 | |
| ErrorCode int16 | The top-level error code. | ||||||||||||||||||||||
| ApiKeys []ApiVersion | The APIs supported by the broker. | ||||||||||||||||||||||
| ApiKey int16 | The API index. | ||||||||||||||||||||||
| MinVersion int16 | The minimum supported version, inclusive. | ||||||||||||||||||||||
| MaxVersion int16 | The maximum supported version, inclusive. | ||||||||||||||||||||||
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||||
| SupportedFeatures []SupportedFeatureKey | Features supported by the broker. Note: in v0-v3, features with MinSupportedVersion = 0 are omitted. | ||||||||||||||||||||||
| Name string | The name of the feature. | ||||||||||||||||||||||
| MinVersion int16 | The minimum supported version for the feature. | ||||||||||||||||||||||
| MaxVersion int16 | The maximum supported version for the feature. | ||||||||||||||||||||||
| FinalizedFeaturesEpoch int64 | The monotonically increasing epoch for the finalized features information. Valid values are >= 0. A value of -1 is special and rep.. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||||
| FinalizedFeatures []FinalizedFeatureKey | List of cluster-wide finalized features. The information is valid only if FinalizedFeaturesEpoch >= 0. | ||||||||||||||||||||||
| Name string | The name of the feature. | ||||||||||||||||||||||
| MaxVersionLevel int16 | The cluster-wide finalized max version level for the feature. | ||||||||||||||||||||||
| MinVersionLevel int16 | The cluster-wide finalized min version level for the feature. | ||||||||||||||||||||||
| ZkMigrationReady bool | Set by a KRaft controller if the required configurations for ZK migration are present. | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false |
Consumer Groups
| OffsetCommitRequestbroker wire format ↗ | Description | v2 | v3 | v4 | v5 | v6 | v7 | v8 | v8 | v8 | v8 | v8 | v8 | v8 | v8 | v8 | v8 | v8 | v9 | v9 | v9 | v9 | v9 | v10 | v10 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 adds retention time. It removes the commit timestamp added in version 1. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 2. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 2. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 removes the retention time, which is now controlled only by a broker configuration. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds the leader epoch for fencing. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 adds a new field called groupInstanceId to indicate member identity across restarts. | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 is the first version that can be used with the new consumer group protocol (KIP-848). The request is the same as version 8. | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 adds support for topic ids and removes support for topic names (KIP-848). | 4.2 | |
| GroupId string | The unique group identifier. | ||||||||||||||||||||||||
| GenerationIdOrMemberEpoch int32 | The generation of the group if using the classic group protocol or the member epoch if using the consumer protocol. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| MemberId string | The member ID assigned by the group coordinator. | ||||||||||||||||||||||||
| GroupInstanceId string | The unique identifier of the consumer instance provided by end user. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||
| RetentionTimeMs int64 | The time period in ms to retain the offset. | -1 | -1 | -1 | |||||||||||||||||||||
| Topics []OffsetCommitRequestTopic | The topics to commit offsets for. | ||||||||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||||||||
| TopicId uuid | The topic ID. | ||||||||||||||||||||||||
| Partitions []OffsetCommitRequestPartition | Each partition to commit offsets for. | ||||||||||||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||||||||||||
| CommittedOffset int64 | The message offset to be committed. | ||||||||||||||||||||||||
| CommittedLeaderEpoch int32 | The leader epoch of this partition. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||||
| CommittedMetadata string | Any associated metadata the client wants to keep. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| OffsetCommitResponse wire format ↗ | Description | v2 | v3 | v4 | v5 | v6 | v7 | v8 | v8 | v8 | v8 | v8 | v8 | v8 | v8 | v8 | v8 | v8 | v9 | v9 | v9 | v9 | v9 | v10 | v10 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 are the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds the throttle time to the response. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 4. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 4. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 offsetCommitRequest supports a new field called groupInstanceId to indicate member identity across restarts. | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 is the first version that can be used with the new consumer group protocol (KIP-848). The response is the same as version 8 but can return STALE_MEMBER_EPOCH when the new consumer group protocol is used and GROUP_ID_NOT_FOUND when the group does not exist for both protocols. | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 adds support for topic ids and removes support for topic names (KIP-848). | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||||||
| Topics []OffsetCommitResponseTopic | The responses for each topic. | ||||||||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||||||||
| TopicId uuid | The topic ID. | ||||||||||||||||||||||||
| Partitions []OffsetCommitResponsePartition | The responses for each partition in the topic. | ||||||||||||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. |
| OffsetFetchRequestbroker wire format ↗ | Description | v1 | v2 | v3 | v4 | v5 | v5 | v6 | v7 | v7 | v7 | v7 | v8 | v8 | v8 | v8 | v8 | v8 | v8 | v9 | v9 | v9 | v9 | v10 | v10 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 the broker supports fetching offsets from the internal __consumer_offsets topic. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 the request can contain a null topics array to indicate that offsets for all topics should be fetched. It also returns a top level error code for group or coordinator level errors. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 4, and 5 are the same as version 2. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 is adding the require stable flag. | 2.6 | 2.7 | 2.8 | 3.0 is adding support for fetching offsets for multiple groups at a time. | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 is the first version that can be used with the new consumer group protocol (KIP-848). It adds the MemberId and MemberEpoch fields. Those are filled in and validated when the new consumer protocol is used. | 3.8 | 3.9 | 4.0 | 4.1 adds support for topic ids and removes support for topic names (KIP-848). | 4.2 | |
| GroupId string | The group to fetch offsets for. | ||||||||||||||||||||||||
| Topics []OffsetFetchRequestTopic | Each topic we would like to fetch offsets for, or null to fetch offsets for all topics. | null | null | null | null | null | null | null | null | null | null | ||||||||||||||
| Name string | The topic name. | ||||||||||||||||||||||||
| PartitionIndexes []int32 | The partition indexes we would like to fetch offsets for. | ||||||||||||||||||||||||
| Groups []OffsetFetchRequestGroup | Each group we would like to fetch offsets for. | ||||||||||||||||||||||||
| GroupId string | The group ID. | ||||||||||||||||||||||||
| MemberId string | The member id. | null | null | null | null | null | null | ||||||||||||||||||
| MemberEpoch int32 | The member epoch if using the new consumer protocol (KIP-848). | -1 | -1 | -1 | -1 | -1 | -1 | ||||||||||||||||||
| Topics []OffsetFetchRequestTopics | Each topic we would like to fetch offsets for, or null to fetch offsets for all topics. | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||||||||
| Name string | The topic name. | ||||||||||||||||||||||||
| TopicId uuid | The topic ID. | ||||||||||||||||||||||||
| PartitionIndexes []int32 | The partition indexes we would like to fetch offsets for. | ||||||||||||||||||||||||
| RequireStable bool | Whether broker should hold on returning unstable offsets but set a retriable error code for the partitions. | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false |
| OffsetFetchResponse wire format ↗ | Description | v1 | v2 | v3 | v4 | v5 | v5 | v6 | v7 | v7 | v7 | v7 | v8 | v8 | v8 | v8 | v8 | v8 | v8 | v9 | v9 | v9 | v9 | v10 | v10 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds a top-level error code. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds the throttle time. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds the leader epoch to the committed offset. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 adds pending offset commit as new error response on partition level. | 2.6 | 2.7 | 2.8 | 3.0 is adding support for fetching offsets for multiple groups | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 is the first version that can be used with the new consumer group protocol (KIP-848). The response is the same as version 8 but can return STALE_MEMBER_EPOCH and UNKNOWN_MEMBER_ID errors when the new consumer group protocol is used. | 3.8 | 3.9 | 4.0 | 4.1 adds support for topic ids and removes support for topic names (KIP-848). | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||||||
| Topics []OffsetFetchResponseTopic | The responses per topic. | ||||||||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||||||||
| Partitions []OffsetFetchResponsePartition | The responses per partition. | ||||||||||||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||||||||||||
| CommittedOffset int64 | The committed message offset. | ||||||||||||||||||||||||
| CommittedLeaderEpoch int32 | The leader epoch. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||||||||||||||
| Metadata string | The partition metadata. | null | null | null | null | null | null | null | null | null | null | null | |||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||||||||||||
| ErrorCode int16 | The top-level error code, or 0 if there was no error. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||
| Groups []OffsetFetchResponseGroup | The responses per group id. | ||||||||||||||||||||||||
| GroupId string | The group ID. | ||||||||||||||||||||||||
| Topics []OffsetFetchResponseTopics | The responses per topic. | ||||||||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||||||||
| TopicId uuid | The topic ID. | ||||||||||||||||||||||||
| Partitions []OffsetFetchResponsePartitions | The responses per partition. | ||||||||||||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||||||||||||
| CommittedOffset int64 | The committed message offset. | ||||||||||||||||||||||||
| CommittedLeaderEpoch int32 | The leader epoch. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||||||||
| Metadata string | The partition metadata. | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||||||||
| ErrorCode int16 | The partition-level error code, or 0 if there was no error. | ||||||||||||||||||||||||
| ErrorCode int16 | The group-level error code, or 0 if there was no error. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| FindCoordinatorRequestbroker wire format ↗ | Description | v0 | v1 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v5 | v6 | v6 | v6 | v6 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds KeyType. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 1. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 adds support for batching via CoordinatorKeys (KIP-699) | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 adds support for share groups (KIP-932). For key type SHARE (2), the coordinator key format is "groupId:topicId:partition". | 4.0 | 4.1 | 4.2 | |
| Key string | The coordinator key. | ||||||||||||||||||||||
| KeyType int8 | The coordinator key type. (group, transaction, share). | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| CoordinatorKeys []string | The coordinator keys. |
| FindCoordinatorResponse wire format ↗ | Description | v0 | v1 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v5 | v6 | v6 | v6 | v6 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds throttle time and error messages. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 adds support for batching via Coordinators (KIP-699) | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 adds support for share groups (KIP-932). | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||||||||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null | null | null | null | null | ||||||||||||||
| NodeId int32 | The node id. | ||||||||||||||||||||||
| Host string | The host name. | ||||||||||||||||||||||
| Port int32 | The port. | ||||||||||||||||||||||
| Coordinators []Coordinator | Each coordinator result in the response. | ||||||||||||||||||||||
| Key string | The coordinator key. | ||||||||||||||||||||||
| NodeId int32 | The node id. | ||||||||||||||||||||||
| Host string | The host name. | ||||||||||||||||||||||
| Port int32 | The port. | ||||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||||||||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null |
| JoinGroupRequestbroker wire format ↗ | Description | v0 | v1 | v2 | v3 | v4 | v5 | v6 | v7 | v7 | v7 | v7 | v7 | v7 | v8 | v9 | v9 | v9 | v9 | v9 | v9 | v9 | v9 | v9 | v9 | v9 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds RebalanceTimeoutMs. Version 2 and 3 are the same as version 1. Starting from version 4, the client needs to issue a second request to join group Starting from version 5, we add a new field called groupInstanceId to indicate member identity across restarts. with assigned id. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 is the same as version 6. | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 adds the Reason field (KIP-800). | 3.2 is the same as version 8. | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| GroupId string | The group identifier. | |||||||||||||||||||||||||
| SessionTimeoutMs int32 | The coordinator considers the consumer dead if it receives no heartbeat after this timeout in milliseconds. | |||||||||||||||||||||||||
| RebalanceTimeoutMs int32 | The maximum time in milliseconds that the coordinator will wait for each member to rejoin when rebalancing the group. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |
| MemberId string | The member id assigned by the group coordinator. | |||||||||||||||||||||||||
| GroupInstanceId string | The unique identifier of the consumer instance provided by end user. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||
| ProtocolType string | The unique name the for class of protocols implemented by the group we want to join. | |||||||||||||||||||||||||
| Protocols []JoinGroupRequestProtocol | The list of protocols that the member supports. | |||||||||||||||||||||||||
| Name string | The protocol name. | |||||||||||||||||||||||||
| Metadata bytes | The protocol metadata. | |||||||||||||||||||||||||
| Reason string | The reason why the member (re-)joins the group. | null | null | null | null | null | null | null | null | null | null | null | null |
| JoinGroupResponse wire format ↗ | Description | v0 | v1 | v2 | v3 | v4 | v5 | v6 | v7 | v7 | v7 | v7 | v7 | v7 | v8 | v9 | v9 | v9 | v9 | v9 | v9 | v9 | v9 | v9 | v9 | v9 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds throttle time. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 the client needs to issue a second request to join group with assigned id. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 is bumped to apply group.instance.id to identify member across restarts. | 2.4 is the first flexible version. Starting from version 7, the broker sends back the Protocol Type to the client (KIP-559). | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 is the same as version 7. | 3.2 adds the SkipAssignment field. | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | |||||||||||||||||||||||||
| GenerationId int32 | The generation ID of the group. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| ProtocolType string | The group protocol name. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||||
| ProtocolName string | The group protocol selected by the coordinator. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||||
| Leader string | The leader of the group. | |||||||||||||||||||||||||
| SkipAssignment bool | True if the leader must skip running the assignment. | false | false | false | false | false | false | false | false | false | false | false | ||||||||||||||
| MemberId string | The member ID assigned by the group coordinator. | |||||||||||||||||||||||||
| Members []JoinGroupResponseMember | The group members. | |||||||||||||||||||||||||
| MemberId string | The group member ID. | |||||||||||||||||||||||||
| GroupInstanceId string | The unique identifier of the consumer instance provided by end user. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||
| Metadata bytes | The group member metadata. |
| HeartbeatRequestbroker wire format ↗ | Description | v0 | v1 | v2 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 and version 2 are the same as version 0. Starting from version 3, we add a new field called groupInstanceId to indicate member identity across restarts. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| GroupId string | The group id. | ||||||||||||||||||||||
| GenerationId int32 | The generation of the group. | ||||||||||||||||||||||
| MemberId string | The member ID. | ||||||||||||||||||||||
| GroupInstanceId string | The unique identifier of the consumer instance provided by end user. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| HeartbeatResponse wire format ↗ | Description | v0 | v1 | v2 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds throttle time. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Starting from version 3, heartbeatRequest supports a new field called groupInstanceId to indicate member identity across restarts. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. |
| LeaveGroupRequestbroker wire format ↗ | Description | v0 | v1 | v2 | v2 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 defines batch processing scheme with group.instance.id + member.id for identity | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 adds the Reason field (KIP-800). | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| GroupId string | The ID of the group to leave. | |||||||||||||||||||||||
| MemberId string | The member ID to remove from the group. | |||||||||||||||||||||||
| Members []MemberIdentity | List of leaving member identities. | |||||||||||||||||||||||
| MemberId string | The member ID to remove from the group. | |||||||||||||||||||||||
| GroupInstanceId string | The group instance ID to remove from the group. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | ||||
| Reason string | The reason why the member left the group. | null | null | null | null | null | null | null | null | null | null | null |
| LeaveGroupResponse wire format ↗ | Description | v0 | v1 | v2 | v2 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds the throttle time. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 we will make leave group request into batch mode and add group.instance.id. | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 is the same as version 4. | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | |||||||||||||||||||||||
| Members []MemberResponse | List of leaving member responses. | |||||||||||||||||||||||
| MemberId string | The member ID to remove from the group. | |||||||||||||||||||||||
| GroupInstanceId string | The group instance ID to remove from the group. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | ||||
| ErrorCode int16 | The error code, or 0 if there was no error. |
| SyncGroupRequestbroker wire format ↗ | Description | v0 | v1 | v2 | v3 | v4 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 0. Starting from version 3, we add a new field called groupInstanceId to indicate member identity across restarts. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 0. Starting from version 3, we add a new field called groupInstanceId to indicate member identity across restarts. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. Starting from version 5, the client sends the Protocol Type and the Protocol Name to the broker (KIP-559). The broker will reject the request if they are inconsistent with the Type and Name known by the broker. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| GroupId string | The unique group identifier. | ||||||||||||||||||||||
| GenerationId int32 | The generation of the group. | ||||||||||||||||||||||
| MemberId string | The member ID assigned by the group. | ||||||||||||||||||||||
| GroupInstanceId string | The unique identifier of the consumer instance provided by end user. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||
| ProtocolType string | The group protocol type. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||
| ProtocolName string | The group protocol name. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||
| Assignments []SyncGroupRequestAssignment | Each assignment. | ||||||||||||||||||||||
| MemberId string | The ID of the member to assign. | ||||||||||||||||||||||
| Assignment bytes | The member assignment. |
| SyncGroupResponse wire format ↗ | Description | v0 | v1 | v2 | v3 | v4 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds throttle time. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Starting from version 3, syncGroupRequest supports a new field called groupInstanceId to indicate member identity across restarts. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. Starting from version 5, the broker sends back the Protocol Type and the Protocol Name to the client (KIP-559). | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||||||||||
| ProtocolType string | The group protocol type. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||
| ProtocolName string | The group protocol name. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||
| Assignment bytes | The member assignment. |
| DescribeGroupsRequestbroker wire format ↗ | Description | v0 | v1 | v2 | v3 | v4 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v6 | v6 | v6 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 authorized operations can be requested. | 2.4 the response will include group.instance.id info for members. | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 returns error code GROUP_ID_NOT_FOUND if the group ID is not found (KIP-1043). | 4.1 | 4.2 | |
| Groups []string | The names of the groups to describe. | |||||||||||||||||||||||
| IncludeAuthorizedOperations bool | Whether to include authorized operations. |
| DescribeGroupsResponse wire format ↗ | Description | v0 | v1 | v2 | v3 | v4 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v5 | v6 | v6 | v6 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 added throttle time. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 brokers can send authorized operations. | 2.4 the response will optionally include group.instance.id info for members. | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 returns error code GROUP_ID_NOT_FOUND if the group ID is not found (KIP-1043). | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||||||||||
| Groups []DescribedGroup | Each described group. | |||||||||||||||||||||||
| ErrorCode int16 | The describe error, or 0 if there was no error. | |||||||||||||||||||||||
| ErrorMessage string | The describe error message, or null if there was no error. | null | null | null | ||||||||||||||||||||
| GroupId string | The group ID string. | |||||||||||||||||||||||
| GroupState string | The group state string, or the empty string. | |||||||||||||||||||||||
| ProtocolType string | The group protocol type, or the empty string. | |||||||||||||||||||||||
| ProtocolData string | The group protocol data, or the empty string. | |||||||||||||||||||||||
| Members []DescribedGroupMember | The group members. | |||||||||||||||||||||||
| MemberId string | The member id. | |||||||||||||||||||||||
| GroupInstanceId string | The unique identifier of the consumer instance provided by end user. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | ||||
| ClientId string | The client ID used in the member's latest join group request. | |||||||||||||||||||||||
| ClientHost string | The client host. | |||||||||||||||||||||||
| MemberMetadata bytes | The metadata corresponding to the current group protocol in use. | |||||||||||||||||||||||
| MemberAssignment bytes | The current assignment provided by the group leader. | |||||||||||||||||||||||
| AuthorizedOperations int32 | 32-bit bitfield to represent authorized operations for this group. | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 |
| ListGroupsRequestbroker wire format ↗ | Description | v0 | v1 | v2 | v2 | v3 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v5 | v5 | v5 | v5 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 are the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 adds the StatesFilter field (KIP-518). | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds the TypesFilter field (KIP-848). | 3.9 | 4.0 | 4.1 | 4.2 | |
| StatesFilter []string | The states of the groups we want to list. If empty, all groups are returned with their state. | ||||||||||||||||||||||
| TypesFilter []string | The types of the groups we want to list. If empty, all groups are returned with their type. |
| ListGroupsResponse wire format ↗ | Description | v0 | v1 | v2 | v2 | v3 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v5 | v5 | v5 | v5 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds the throttle time. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 adds the GroupState field (KIP-518). | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds the GroupType field (KIP-848). | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||||||||||
| Groups []ListedGroup | Each group in the response. | ||||||||||||||||||||||
| GroupId string | The group ID. | ||||||||||||||||||||||
| ProtocolType string | The group protocol type. | ||||||||||||||||||||||
| GroupState string | The group state name. | ||||||||||||||||||||||
| GroupType string | The group type name. |
| DeleteGroupsRequestbroker wire format ↗ | Description | v0 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| GroupsNames []string | The group names to delete. |
| DeleteGroupsResponse wire format ↗ | Description | v0 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||||||||
| Results []DeletableGroupResult | The deletion results. | |||||||||||||||||||||
| GroupId string | The group id. | |||||||||||||||||||||
| ErrorCode int16 | The deletion error, or 0 if the deletion succeeded. |
| OffsetDeleteRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| GroupId string | The unique group identifier. | ||||||||||||||||||
| Topics []OffsetDeleteRequestTopic | The topics to delete offsets for. | ||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||
| Partitions []OffsetDeleteRequestPartition | Each partition to delete offsets for. | ||||||||||||||||||
| PartitionIndex int32 | The partition index. |
| OffsetDeleteResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ErrorCode int16 | The top-level error code, or 0 if there was no error. | ||||||||||||||||||
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||
| Topics []OffsetDeleteResponseTopic | The responses for each topic. | ||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||
| Partitions []OffsetDeleteResponsePartition | The responses for each partition in the topic. | ||||||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. |
| ConsumerGroupHeartbeatRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|
| Kafka | 3.5 Flexible encoding enabled. | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| GroupId string | The group identifier. | ||||||||
| MemberId string | The member id generated by the consumer. The member id must be kept during the entire lifetime of the consumer process. | ||||||||
| MemberEpoch int32 | The current member epoch; 0 to join the group; -1 to leave the group; -2 to indicate that the static member will rejoin. | ||||||||
| InstanceId string | null if not provided or if it didn't change since the last heartbeat; the instance Id otherwise. | null | null | null | null | null | null | null | null |
| RackId string | null if not provided or if it didn't change since the last heartbeat; the rack ID of consumer otherwise. | null | null | null | null | null | null | null | null |
| RebalanceTimeoutMs int32 | -1 if it didn't change since the last heartbeat; the maximum time in milliseconds that the coordinator will wait on the member to .. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| SubscribedTopicNames []string | null if it didn't change since the last heartbeat; the subscribed topic names otherwise. | null | null | null | null | null | null | null | null |
| SubscribedTopicRegex string | null if it didn't change since the last heartbeat; the subscribed topic regex otherwise. | null | null | null | |||||
| ServerAssignor string | null if not used or if it didn't change since the last heartbeat; the server side assignor to use otherwise. | null | null | null | null | null | null | null | null |
| TopicPartitions []TopicPartitions | null if it didn't change since the last heartbeat; the partitions owned by the member. | null | null | null | null | null | null | null | null |
| TopicId uuid | The topic ID. | ||||||||
| Partitions []int32 | The partitions. |
| ConsumerGroupHeartbeatResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|
| Kafka | 3.5 Flexible encoding enabled. | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||
| ErrorCode int16 | The top-level error code, or 0 if there was no error. | ||||||||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null | null | null | null | null | null | null |
| MemberId string | The member id is generated by the consumer starting from version 1, while in version 0, it can be provided by users or generated b.. | null | null | null | null | null | null | null | null |
| MemberEpoch int32 | The member epoch. | ||||||||
| HeartbeatIntervalMs int32 | The heartbeat interval in milliseconds. | ||||||||
| Assignment Assignment | null if not provided; the assignment otherwise. | null | null | null | null | null | null | null | null |
| TopicPartitions []TopicPartitions | The partitions assigned to the member that can be used immediately. | ||||||||
| TopicId uuid | The topic ID. | ||||||||
| Partitions []int32 | The partitions. |
| ConsumerGroupDescribeRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|
| Kafka | 3.7 Flexible encoding enabled. | 3.8 | 3.9 | 4.0 adds MemberType field to ConsumerGroupDescribeResponse (KIP-1099). For ConsumerGroupDescribeRequest, version 1 is same as version 0. | 4.1 | 4.2 | |
| GroupIds []string | The ids of the groups to describe. | ||||||
| IncludeAuthorizedOperations bool | Whether to include authorized operations. |
| ConsumerGroupDescribeResponse wire format ↗ | Description | v0 | v0 | v0 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|
| Kafka | 3.7 Flexible encoding enabled. | 3.8 | 3.9 | 4.0 adds MemberType field (KIP-1099). | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||
| Groups []DescribedGroup | Each described group. | ||||||
| ErrorCode int16 | The describe error, or 0 if there was no error. | ||||||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null | null | null | null | null |
| GroupId string | The group ID string. | ||||||
| GroupState string | The group state string, or the empty string. | ||||||
| GroupEpoch int32 | The group epoch. | ||||||
| AssignmentEpoch int32 | The assignment epoch. | ||||||
| AssignorName string | The selected assignor. | ||||||
| Members []Member | The members. | ||||||
| MemberId string | The member ID. | ||||||
| InstanceId string | The member instance ID. | null | null | null | null | null | null |
| RackId string | The member rack ID. | null | null | null | null | null | null |
| MemberEpoch int32 | The current member epoch. | ||||||
| ClientId string | The client ID. | ||||||
| ClientHost string | The client host. | ||||||
| SubscribedTopicNames []string | The subscribed topic names. | ||||||
| SubscribedTopicRegex string | the subscribed topic regex otherwise or null of not provided. | null | null | null | null | null | null |
| Assignment Assignment | The current assignment. | ||||||
| TopicPartitions []TopicPartitions | The assigned topic-partitions to the member. | ||||||
| TopicId uuid | The topic ID. | ||||||
| TopicName string | The topic name. | ||||||
| Partitions []int32 | The partitions. | ||||||
| TargetAssignment Assignment | The target assignment. | ||||||
| TopicPartitions []TopicPartitions | The assigned topic-partitions to the member. | ||||||
| TopicId uuid | The topic ID. | ||||||
| TopicName string | The topic name. | ||||||
| Partitions []int32 | The partitions. | ||||||
| MemberType int8 | -1 for unknown. 0 for classic member. +1 for consumer member. | -1 | -1 | -1 | |||
| AuthorizedOperations int32 | 32-bit bitfield to represent authorized operations for this group. | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 |
Admin
| CreateTopicsRequestbrokercontroller wire format ↗ | Description | v2 | v3 | v3 | v4 | v5 | v5 | v5 | v6 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 makes partitions/replicationFactor optional even when assignments are not present (KIP-464) | 2.4 also returns topic configs in the response (KIP-525). Flexible encoding enabled. | 2.5 | 2.6 | 2.7 is identical to version 5 but may return a THROTTLING_QUOTA_EXCEEDED error in the response if the topics creation is throttled (KIP-599). | 2.8 is the same as version 6. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Topics []CreatableTopic | The topics to create. | ||||||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||||||
| NumPartitions int32 | The number of partitions to create in the topic, or -1 if we are either specifying a manual partition assignment or using the defa.. | ||||||||||||||||||||||
| ReplicationFactor int16 | The number of replicas to create for each partition in the topic, or -1 if we are either specifying a manual partition assignment .. | ||||||||||||||||||||||
| Assignments []CreatableReplicaAssignment | The manual partition assignment, or the empty array if we are using automatic assignment. | ||||||||||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||||||||||
| BrokerIds []int32 | The brokers to place the partition on. | ||||||||||||||||||||||
| Configs []CreatableTopicConfig | The custom topic configurations to set. | ||||||||||||||||||||||
| Name string | The configuration name. | ||||||||||||||||||||||
| Value string | The configuration value. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| timeoutMs int32 | How long to wait in milliseconds before timing out the request. | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 |
| validateOnly bool | If true, check that the topics can be created as specified, but don't create anything. | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false |
| CreateTopicsResponse wire format ↗ | Description | v2 | v3 | v3 | v4 | v5 | v5 | v5 | v6 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 | v7 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 adds the throttle time. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 makes partitions/replicationFactor optional even when assignments are not present (KIP-464). | 2.4 also returns topic configs in the response (KIP-525). Flexible encoding enabled. | 2.5 | 2.6 | 2.7 is identical to version 5 but may return a THROTTLING_QUOTA_EXCEEDED error in the response if the topics creation is throttled (KIP-599). | 2.8 returns the topic ID of the newly created topic if creation is successful. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||||
| Topics []CreatableTopicResult | Results for each topic we tried to create. | ||||||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||||||
| TopicId uuid | The unique topic ID. | ||||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||||||||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| TopicConfigErrorCode int16 | Optional topic config error returned if configs are not returned in the response. | ||||||||||||||||||||||
| NumPartitions int32 | Number of partitions of the topic. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||||
| ReplicationFactor int16 | Replication factor of the topic. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||||
| Configs []CreatableTopicConfigs | Configuration of the topic. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | ||||
| Name string | The configuration name. | ||||||||||||||||||||||
| Value string | The configuration value. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | ||||
| ReadOnly bool | True if the configuration is read-only. | ||||||||||||||||||||||
| ConfigSource int8 | The configuration source. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||||
| IsSensitive bool | True if this configuration is sensitive. |
| DeleteTopicsRequestbrokercontroller wire format ↗ | Description | v1 | v2 | v3 | v3 | v4 | v4 | v4 | v5 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 adds ErrorMessage in the response and may return a THROTTLING_QUOTA_EXCEEDED error in the response if the topics deletion is throttled (KIP-599). | 2.8 reorganizes topics, adds topic IDs and allows topic names to be null. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Topics []DeleteTopicState | The name or topic ID of the topic. | ||||||||||||||||||||||
| Name string | The topic name. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | ||||||||
| TopicId uuid | The unique topic ID. | ||||||||||||||||||||||
| TopicNames []string | The names of the topics to delete. | ||||||||||||||||||||||
| TimeoutMs int32 | The length of time in milliseconds to wait for the deletions to complete. |
| DeleteTopicsResponse wire format ↗ | Description | v1 | v2 | v3 | v3 | v4 | v4 | v4 | v5 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 | v6 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 adds the throttle time. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 a TOPIC_DELETION_DISABLED error code may be returned. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 adds ErrorMessage in the response and may return a THROTTLING_QUOTA_EXCEEDED error in the response if the topics deletion is throttled (KIP-599). | 2.8 adds topic ID to responses. An UNSUPPORTED_VERSION error code will be returned when attempting to delete using topic IDs when IBP < 2.8. UNKNOWN_TOPIC_ID error code will be returned when IBP is at least 2.8, but the topic ID was not found. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||||
| Responses []DeletableTopicResult | The results for each topic we tried to delete. | ||||||||||||||||||||||
| Name string | The topic name. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | ||||||||
| TopicId uuid | The unique topic ID. | ||||||||||||||||||||||
| ErrorCode int16 | The deletion error, or 0 if the deletion succeeded. | ||||||||||||||||||||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| DeleteRecordsRequestbroker wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 is the first flexible version. | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Topics []DeleteRecordsTopic | Each topic that we want to delete records from. | |||||||||||||||||||||
| Name string | The topic name. | |||||||||||||||||||||
| Partitions []DeleteRecordsPartition | Each partition that we want to delete records from. | |||||||||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||||||||
| Offset int64 | The deletion offset. -1 means that records should be truncated to the high watermark. | |||||||||||||||||||||
| TimeoutMs int32 | How long to wait for the deletion to complete, in milliseconds. |
| DeleteRecordsResponse wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 is the first flexible version. | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||||||||
| Topics []DeleteRecordsTopicResult | Each topic that we wanted to delete records from. | |||||||||||||||||||||
| Name string | The topic name. | |||||||||||||||||||||
| Partitions []DeleteRecordsPartitionResult | Each partition that we wanted to delete records from. | |||||||||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||||||||
| LowWatermark int64 | The partition low water mark. | |||||||||||||||||||||
| ErrorCode int16 | The deletion error code, or 0 if the deletion succeeded. |
| DescribeConfigsRequestbrokercontroller wire format ↗ | Description | v1 | v2 | v2 | v2 | v2 | v3 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 adds IncludeSynonyms and removes IsDefault. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 1. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Resources []DescribeConfigsResource | The resources whose configurations we want to describe. | |||||||||||||||||||||
| ResourceType int8 | The resource type. | |||||||||||||||||||||
| ResourceName string | The resource name. | |||||||||||||||||||||
| ConfigurationKeys []string | The configuration keys to list, or null to list all configuration keys. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| IncludeSynonyms bool | True if we should include all synonyms. | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false |
| IncludeDocumentation bool | True if we should include configuration documentation. | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false |
| DescribeConfigsResponse wire format ↗ | Description | v1 | v2 | v2 | v2 | v2 | v3 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 adds ConfigSource and the synonyms. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||||||||
| Results []DescribeConfigsResult | The results for each resource. | |||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if we were able to successfully describe the configurations. | |||||||||||||||||||||
| ErrorMessage string | The error message, or null if we were able to successfully describe the configurations. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ResourceType int8 | The resource type. | |||||||||||||||||||||
| ResourceName string | The resource name. | |||||||||||||||||||||
| Configs []DescribeConfigsResourceResult | Each listed configuration. | |||||||||||||||||||||
| Name string | The configuration name. | |||||||||||||||||||||
| Value string | The configuration value. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ReadOnly bool | True if the configuration is read-only. | |||||||||||||||||||||
| ConfigSource int8 | The configuration source. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| IsSensitive bool | True if this configuration is sensitive. | |||||||||||||||||||||
| Synonyms []DescribeConfigsSynonym | The synonyms for this configuration key. | |||||||||||||||||||||
| Name string | The synonym name. | |||||||||||||||||||||
| Value string | The synonym value. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Source int8 | The synonym source. | |||||||||||||||||||||
| ConfigType int8 | The configuration data type. Type can be one of the following values - BOOLEAN, STRING, INT, SHORT, LONG, DOUBLE, LIST, CLASS, PAS.. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Documentation string | The configuration documentation. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| AlterConfigsRequestbrokercontroller wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Resources []AlterConfigsResource | The updates for each resource. | |||||||||||||||||||||
| ResourceType int8 | The resource type. | |||||||||||||||||||||
| ResourceName string | The resource name. | |||||||||||||||||||||
| Configs []AlterableConfig | The configurations. | |||||||||||||||||||||
| Name string | The configuration key name. | |||||||||||||||||||||
| Value string | The value to set for the configuration key. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ValidateOnly bool | True if we should validate the request, but not change the configurations. |
| AlterConfigsResponse wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any .. | |||||||||||||||||||||
| Responses []AlterConfigsResourceResponse | The responses for each resource. | |||||||||||||||||||||
| ErrorCode int16 | The resource error code. | |||||||||||||||||||||
| ErrorMessage string | The resource error message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ResourceType int8 | The resource type. | |||||||||||||||||||||
| ResourceName string | The resource name. |
| AlterReplicaLogDirsRequestbroker wire format ↗ | Description | v1 | v1 | v1 | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Dirs []AlterReplicaLogDir | The alterations to make for each directory. | ||||||||||||||||||||
| Path string | The absolute directory path. | ||||||||||||||||||||
| Topics []AlterReplicaLogDirTopic | The topics to add to the directory. | ||||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||||
| Partitions []int32 | The partition indexes. |
| AlterReplicaLogDirsResponse wire format ↗ | Description | v1 | v1 | v1 | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 on quota violation brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any .. | ||||||||||||||||||||
| Results []AlterReplicaLogDirTopicResult | The results for each topic. | ||||||||||||||||||||
| TopicName string | The name of the topic. | ||||||||||||||||||||
| Partitions []AlterReplicaLogDirPartitionResult | The results for each partition. | ||||||||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. |
| DescribeLogDirsRequestbroker wire format ↗ | Description | v1 | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 is the first flexible version. | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 is the same as version 2 (new field in response). | 3.3 is the same as version 2 (new fields in response). | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | is the same as version 2 (new fields in response). |
|
| Topics []DescribableLogDirTopic | Each topic that we want to describe log directories for, or null for all topics. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Topic string | The topic name. | |||||||||||||||||||||
| Partitions []int32 | The partition indexes. |
| DescribeLogDirsResponse wire format ↗ | Description | v1 | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 is the first flexible version. | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 adds the top-level ErrorCode field | 3.3 adds the TotalBytes and UsableBytes fields | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | adds IsCordoned field |
|
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | |||||||||||||||||||||
| Results []DescribeLogDirsResult | The log directories. | |||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | |||||||||||||||||||||
| LogDir string | The absolute log directory path. | |||||||||||||||||||||
| Topics []DescribeLogDirsTopic | The topics. | |||||||||||||||||||||
| Name string | The topic name. | |||||||||||||||||||||
| Partitions []DescribeLogDirsPartition | The partitions. | |||||||||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||||||||
| PartitionSize int64 | The size of the log segments in this partition in bytes. | |||||||||||||||||||||
| OffsetLag int64 | The lag of the log's LEO w.r.t. partition's HW (if it is the current log for the partition) or current replica's LEO (if it is the.. | |||||||||||||||||||||
| IsFutureKey bool | True if this log is created by AlterReplicaLogDirsRequest and will replace the current log of the replica in the future. | |||||||||||||||||||||
| TotalBytes int64 | The total size in bytes of the volume the log directory is in. This value does not include the size of data stored in remote stora.. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||||||||||
| UsableBytes int64 | The usable size in bytes of the volume the log directory is in. This value does not include the size of data stored in remote stor.. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||||||||||
| IsCordoned bool | True if this log directory is cordoned. | false |
| CreatePartitionsRequestbrokercontroller wire format ↗ | Description | v0 | v1 | v1 | v1 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 adds flexible version support | 2.6 | 2.7 is identical to version 2 but may return a THROTTLING_QUOTA_EXCEEDED error in the response if the partitions creation is throttled (KIP-599). | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Topics []CreatePartitionsTopic | Each topic that we want to create new partitions inside. | |||||||||||||||||||||
| Name string | The topic name. | |||||||||||||||||||||
| Count int32 | The new partition count. | |||||||||||||||||||||
| Assignments []CreatePartitionsAssignment | The new partition assignments. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| BrokerIds []int32 | The assigned broker IDs. | |||||||||||||||||||||
| TimeoutMs int32 | The time in ms to wait for the partitions to be created. | |||||||||||||||||||||
| ValidateOnly bool | If true, then validate the request, but don't actually increase the number of partitions. |
| CreatePartitionsResponse wire format ↗ | Description | v0 | v1 | v1 | v1 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 adds flexible version support | 2.6 | 2.7 is identical to version 2 but may return a THROTTLING_QUOTA_EXCEEDED error in the response if the partitions creation is throttled (KIP-599). | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||||||||
| Results []CreatePartitionsTopicResult | The partition creation results for each topic. | |||||||||||||||||||||
| Name string | The topic name. | |||||||||||||||||||||
| ErrorCode int16 | The result error, or zero if there was no error. | |||||||||||||||||||||
| ErrorMessage string | The result message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ElectLeadersRequestbrokercontroller wire format ↗ | Description | v0 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.4 | 2.4 implements multiple leader election types, as described by KIP-460. | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ElectionType int8 | Type of elections to conduct for the partition. A value of '0' elects the preferred replica. A value of '1' elects the first live .. | ||||||||||||||||||||
| TopicPartitions []TopicPartitions | The topic partitions to elect leaders. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Topic string | The name of a topic. | ||||||||||||||||||||
| Partitions []int32 | The partitions of this topic whose leader should be elected. | ||||||||||||||||||||
| TimeoutMs int32 | The time in ms to wait for the election to complete. | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 |
| ElectLeadersResponse wire format ↗ | Description | v0 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.4 | 2.4 adds a top-level error code. | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||
| ErrorCode int16 | The top level response error code. | ||||||||||||||||||||
| ReplicaElectionResults []ReplicaElectionResult | The election results, or an empty array if the requester did not have permission and the request asks for all partitions. | ||||||||||||||||||||
| Topic string | The topic name. | ||||||||||||||||||||
| PartitionResult []PartitionResult | The results for each partition. | ||||||||||||||||||||
| PartitionId int32 | The partition id. | ||||||||||||||||||||
| ErrorCode int16 | The result error, or zero if there was no error. | ||||||||||||||||||||
| ErrorMessage string | The result message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| IncrementalAlterConfigsRequestbrokercontroller wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Resources []AlterConfigsResource | The incremental updates for each resource. | |||||||||||||||||||
| ResourceType int8 | The resource type. | |||||||||||||||||||
| ResourceName string | The resource name. | |||||||||||||||||||
| Configs []AlterableConfig | The configurations. | |||||||||||||||||||
| Name string | The configuration key name. | |||||||||||||||||||
| ConfigOperation int8 | The type (Set, Delete, Append, Subtract) of operation. | |||||||||||||||||||
| Value string | The value to set for the configuration key. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ValidateOnly bool | True if we should validate the request, but not change the configurations. |
| IncrementalAlterConfigsResponse wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any .. | |||||||||||||||||||
| Responses []AlterConfigsResourceResponse | The responses for each resource. | |||||||||||||||||||
| ErrorCode int16 | The resource error code. | |||||||||||||||||||
| ErrorMessage string | The resource error message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ResourceType int8 | The resource type. | |||||||||||||||||||
| ResourceName string | The resource name. |
| AlterPartitionReassignmentsRequestbrokercontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.4 Flexible encoding enabled. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 adds the ability to allow/disallow changing the replication factor as part of the request. | 4.2 | |
| TimeoutMs int32 | The time in ms to wait for the request to complete. | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 |
| AllowReplicationFactorChange bool | The option indicating whether changing the replication factor of any given partition as part of this request is a valid move. | true | true | ||||||||||||||||
| Topics []ReassignableTopic | The topics to reassign. | ||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||
| Partitions []ReassignablePartition | The partitions to reassign. | ||||||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||||||
| Replicas []int32 | The replicas to place the partitions on, or null to cancel a pending reassignment for this partition. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| AlterPartitionReassignmentsResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.4 Flexible encoding enabled. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 adds the ability to allow/disallow changing the replication factor as part of the request. | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||
| AllowReplicationFactorChange bool | The option indicating whether changing the replication factor of any given partition as part of the request was allowed. | true | true | ||||||||||||||||
| ErrorCode int16 | The top-level error code, or 0 if there was no error. | ||||||||||||||||||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Responses []ReassignableTopicResponse | The responses to topics to reassign. | ||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||
| Partitions []ReassignablePartitionResponse | The responses to partitions to reassign. | ||||||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||||||
| ErrorCode int16 | The error code for this partition, or 0 if there was no error. | ||||||||||||||||||
| ErrorMessage string | The error message for this partition, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ListPartitionReassignmentsRequestbrokercontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.4 Flexible encoding enabled. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| TimeoutMs int32 | The time in ms to wait for the request to complete. | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 |
| Topics []ListPartitionReassignmentsTopics | The topics to list partition reassignments for, or null to list everything. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Name string | The topic name. | ||||||||||||||||||
| PartitionIndexes []int32 | The partitions to list partition reassignments for. |
| ListPartitionReassignmentsResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.4 Flexible encoding enabled. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||
| ErrorCode int16 | The top-level error code, or 0 if there was no error. | ||||||||||||||||||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Topics []OngoingTopicReassignment | The ongoing reassignments for each topic. | ||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||
| Partitions []OngoingPartitionReassignment | The ongoing reassignments for each partition. | ||||||||||||||||||
| PartitionIndex int32 | The index of the partition. | ||||||||||||||||||
| Replicas []int32 | The current replica set. | ||||||||||||||||||
| AddingReplicas []int32 | The set of replicas we are currently adding. | ||||||||||||||||||
| RemovingReplicas []int32 | The set of replicas we are currently removing. |
| DescribeClientQuotasRequestbroker wire format ↗ | Description | v0 | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Components []ComponentData | Filter components to apply to quota entities. | ||||||||||||||||
| EntityType string | The entity type that the filter component applies to. | ||||||||||||||||
| MatchType int8 | How to match the entity {0 = exact name, 1 = default name, 2 = any specified name}. | ||||||||||||||||
| Match string | The string to match against, or null if unused for the match type. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Strict bool | Whether the match is strict, i.e. should exclude entities with unspecified entity types. |
| DescribeClientQuotasResponse wire format ↗ | Description | v0 | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||
| ErrorCode int16 | The error code, or `0` if the quota description succeeded. | ||||||||||||||||
| ErrorMessage string | The error message, or `null` if the quota description succeeded. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Entries []EntryData | A result entry. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Entity []EntityData | The quota entity description. | ||||||||||||||||
| EntityType string | The entity type. | ||||||||||||||||
| EntityName string | The entity name, or null if the default. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Values []ValueData | The quota values for the entity. | ||||||||||||||||
| Key string | The quota configuration key. | ||||||||||||||||
| Value float64 | The quota configuration value. |
| AlterClientQuotasRequestbrokercontroller wire format ↗ | Description | v0 | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Entries []EntryData | The quota configuration entries to alter. | ||||||||||||||||
| Entity []EntityData | The quota entity to alter. | ||||||||||||||||
| EntityType string | The entity type. | ||||||||||||||||
| EntityName string | The name of the entity, or null if the default. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Ops []OpData | An individual quota configuration entry to alter. | ||||||||||||||||
| Key string | The quota configuration key. | ||||||||||||||||
| Value float64 | The value to set, otherwise ignored if the value is to be removed. | ||||||||||||||||
| Remove bool | Whether the quota configuration value should be removed, otherwise set. | ||||||||||||||||
| ValidateOnly bool | Whether the alteration should be validated, but not performed. |
| AlterClientQuotasResponse wire format ↗ | Description | v0 | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||
| Entries []EntryData | The quota configuration entries to alter. | ||||||||||||||||
| ErrorCode int16 | The error code, or `0` if the quota alteration succeeded. | ||||||||||||||||
| ErrorMessage string | The error message, or `null` if the quota alteration succeeded. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Entity []EntityData | The quota entity to alter. | ||||||||||||||||
| EntityType string | The entity type. | ||||||||||||||||
| EntityName string | The name of the entity, or null if the default. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| DescribeUserScramCredentialsRequestbrokercontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 Flexible encoding enabled. | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Users []UserName | The users to describe, or null/empty to describe all users. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Name string | The user name. |
| DescribeUserScramCredentialsResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 Flexible encoding enabled. | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||
| ErrorCode int16 | The message-level error code, 0 except for user authorization or infrastructure issues. | |||||||||||||||
| ErrorMessage string | The message-level error message, if any. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Results []DescribeUserScramCredentialsResult | The results for descriptions, one per user. | |||||||||||||||
| User string | The user name. | |||||||||||||||
| ErrorCode int16 | The user-level error code. | |||||||||||||||
| ErrorMessage string | The user-level error message, if any. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| CredentialInfos []CredentialInfo | The mechanism and related information associated with the user's SCRAM credentials. | |||||||||||||||
| Mechanism int8 | The SCRAM mechanism. | |||||||||||||||
| Iterations int32 | The number of iterations used in the SCRAM credential. |
| AlterUserScramCredentialsRequestbrokercontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 Flexible encoding enabled. | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Deletions []ScramCredentialDeletion | The SCRAM credentials to remove. | |||||||||||||||
| Name string | The user name. | |||||||||||||||
| Mechanism int8 | The SCRAM mechanism. | |||||||||||||||
| Upsertions []ScramCredentialUpsertion | The SCRAM credentials to update/insert. | |||||||||||||||
| Name string | The user name. | |||||||||||||||
| Mechanism int8 | The SCRAM mechanism. | |||||||||||||||
| Iterations int32 | The number of iterations. | |||||||||||||||
| Salt bytes | A random salt generated by the client. | |||||||||||||||
| SaltedPassword bytes | The salted password. |
| AlterUserScramCredentialsResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 Flexible encoding enabled. | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||
| Results []AlterUserScramCredentialsResult | The results for deletions and alterations, one per affected user. | |||||||||||||||
| User string | The user name. | |||||||||||||||
| ErrorCode int16 | The error code. | |||||||||||||||
| ErrorMessage string | The error message, if any. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| AssignReplicasToDirsRequestcontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|
| Kafka | 3.7 Flexible encoding enabled. | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| BrokerId int32 | The ID of the requesting broker. | ||||||
| BrokerEpoch int64 | The epoch of the requesting broker. | -1 | -1 | -1 | -1 | -1 | -1 |
| Directories []DirectoryData | The directories to which replicas should be assigned. | ||||||
| Id uuid | The ID of the directory. | ||||||
| Topics []TopicData | The topics assigned to the directory. | ||||||
| TopicId uuid | The ID of the assigned topic. | ||||||
| Partitions []PartitionData | The partitions assigned to the directory. | ||||||
| PartitionIndex int32 | The partition index. |
| AssignReplicasToDirsResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|
| Kafka | 3.7 Flexible encoding enabled. | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||
| ErrorCode int16 | The top level response error code. | ||||||
| Directories []DirectoryData | The list of directories and their assigned partitions. | ||||||
| Id uuid | The ID of the directory. | ||||||
| Topics []TopicData | The list of topics and their assigned partitions. | ||||||
| TopicId uuid | The ID of the assigned topic. | ||||||
| Partitions []PartitionData | The list of assigned partitions. | ||||||
| PartitionIndex int32 | The partition index. | ||||||
| ErrorCode int16 | The partition level error code. |
Transactions
| InitProducerIdRequestbroker wire format ↗ | Description | v0 | v1 | v1 | v2 | v3 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v5 | v5 | v5 | v6 | v6 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 adds ProducerId and ProducerEpoch, allowing producers to try to resume after an INVALID_PRODUCER_EPOCH error | 2.6 | 2.7 adds the support for new error code PRODUCER_FENCED. | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 | 4.0 | 4.1 adds support for 2PC (KIP-939). | 4.2 | |
| TransactionalId string | The transactional id, or null if the producer is not transactional. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| TransactionTimeoutMs int32 | The time in ms to wait before aborting idle transactions sent by this producer. This is only relevant if a TransactionalId has bee.. | |||||||||||||||||||||
| ProducerId int64 | The producer id. This is used to disambiguate requests if a transactional id is reused following its expiration. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||||
| ProducerEpoch int16 | The producer's current epoch. This will be checked against the producer epoch on the broker, and the request will return an error .. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||||
| Enable2Pc bool | True if the client wants to enable two-phase commit (2PC) protocol for transactions. | false | false | |||||||||||||||||||
| KeepPreparedTxn bool | True if the client wants to keep the currently ongoing transaction instead of aborting it. | false | false |
| InitProducerIdResponse wire format ↗ | Description | v0 | v1 | v1 | v2 | v3 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v5 | v5 | v5 | v6 | v6 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 is the same as version 2. | 2.6 | 2.7 adds the support for new error code PRODUCER_FENCED. | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 | 4.0 | 4.1 adds support for 2PC (KIP-939). | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | |||||||||||||||||||||
| ProducerId int64 | The current producer id. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| ProducerEpoch int16 | The current epoch associated with the producer id. | |||||||||||||||||||||
| OngoingTxnProducerId int64 | The producer id for ongoing transaction when KeepPreparedTxn is used, -1 if there is no transaction ongoing. | -1 | -1 | |||||||||||||||||||
| OngoingTxnProducerEpoch int16 | The epoch associated with the producer id for ongoing transaction when KeepPreparedTxn is used, -1 if there is no transaction ong.. | -1 | -1 |
| AddPartitionsToTxnRequestbroker wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v1 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v4 | v5 | v5 | v5 | v5 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 adds the support for new error code PRODUCER_FENCED. | 2.8 and below will be exclusively used by clients and versions 4 and above will be used by brokers. Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 adds VerifyOnly field to check if partitions are already in transaction and adds support to batch multiple transactions. | 3.6 | 3.7 | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 | 4.0 | 4.1 | 4.2 | |
| Transactions []AddPartitionsToTxnTransaction | List of transactions to add partitions to. | |||||||||||||||||||||
| TransactionalId string | The transactional id corresponding to the transaction. | |||||||||||||||||||||
| ProducerId int64 | Current producer id in use by the transactional id. | |||||||||||||||||||||
| ProducerEpoch int16 | Current epoch associated with the producer id. | |||||||||||||||||||||
| VerifyOnly bool | Boolean to signify if we want to check if the partition is in the transaction rather than add it. | false | false | false | false | false | false | false | false | |||||||||||||
| Topics []AddPartitionsToTxnTopic | The partitions to add to the transaction. | |||||||||||||||||||||
| Name string | The name of the topic. | |||||||||||||||||||||
| Partitions []int32 | The partition indexes to add to the transaction. | |||||||||||||||||||||
| V3AndBelowTransactionalId string | The transactional id corresponding to the transaction. | |||||||||||||||||||||
| V3AndBelowProducerId int64 | Current producer id in use by the transactional id. | |||||||||||||||||||||
| V3AndBelowProducerEpoch int16 | Current epoch associated with the producer id. | |||||||||||||||||||||
| V3AndBelowTopics []AddPartitionsToTxnTopic | The partitions to add to the transaction. | |||||||||||||||||||||
| Name string | The name of the topic. | |||||||||||||||||||||
| Partitions []int32 | The partition indexes to add to the transaction. |
| AddPartitionsToTxnResponse wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v1 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v4 | v5 | v5 | v5 | v5 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 adds the support for new error code PRODUCER_FENCED. | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 adds support to batch multiple transactions and a top level error code. | 3.6 | 3.7 | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any .. | |||||||||||||||||||||
| ErrorCode int16 | The response top level error code. | |||||||||||||||||||||
| ResultsByTransaction []AddPartitionsToTxnResult | Results categorized by transactional ID. | |||||||||||||||||||||
| TransactionalId string | The transactional id corresponding to the transaction. | |||||||||||||||||||||
| TopicResults []AddPartitionsToTxnTopicResult | The results for each topic. | |||||||||||||||||||||
| Name string | The topic name. | |||||||||||||||||||||
| ResultsByPartition []AddPartitionsToTxnPartitionResult | The results for each partition. | |||||||||||||||||||||
| PartitionIndex int32 | The partition indexes. | |||||||||||||||||||||
| PartitionErrorCode int16 | The response error code. | |||||||||||||||||||||
| ResultsByTopicV3AndBelow []AddPartitionsToTxnTopicResult | The results for each topic. | |||||||||||||||||||||
| Name string | The topic name. | |||||||||||||||||||||
| ResultsByPartition []AddPartitionsToTxnPartitionResult | The results for each partition. | |||||||||||||||||||||
| PartitionIndex int32 | The partition indexes. | |||||||||||||||||||||
| PartitionErrorCode int16 | The response error code. |
| AddOffsetsToTxnRequestbroker wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v1 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v4 | v4 | v4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 adds the support for new error code PRODUCER_FENCED. | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 | 4.0 | 4.1 | 4.2 | |
| TransactionalId string | The transactional id corresponding to the transaction. | |||||||||||||||||||||
| ProducerId int64 | Current producer id in use by the transactional id. | |||||||||||||||||||||
| ProducerEpoch int16 | Current epoch associated with the producer id. | |||||||||||||||||||||
| GroupId string | The unique group identifier. |
| AddOffsetsToTxnResponse wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v1 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v4 | v4 | v4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 adds the support for new error code PRODUCER_FENCED. | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any .. | |||||||||||||||||||||
| ErrorCode int16 | The response error code, or 0 if there was no error. |
| EndTxnRequestbroker wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v1 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v5 | v5 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 adds the support for new error code PRODUCER_FENCED. | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 | 4.0 enables bumping epoch on every transaction (KIP-890 Part 2) | 4.1 | 4.2 | |
| TransactionalId string | The ID of the transaction to end. | |||||||||||||||||||||
| ProducerId int64 | The producer ID. | |||||||||||||||||||||
| ProducerEpoch int16 | The current epoch associated with the producer. | |||||||||||||||||||||
| Committed bool | True if the transaction was committed, false if it was aborted. |
| EndTxnResponse wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v1 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v5 | v5 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 adds the support for new error code PRODUCER_FENCED. | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 | 4.0 enables bumping epoch on every transaction (KIP-890 Part 2), so producer ID and epoch are included in the response. | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | |||||||||||||||||||||
| ProducerId int64 | The producer ID. | -1 | -1 | -1 | ||||||||||||||||||
| ProducerEpoch int16 | The current epoch associated with the producer. | -1 | -1 | -1 |
| WriteTxnMarkersRequestbroker wire format ↗ | Description | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 adds TransactionVersion field to the WritableTxnMarker (KIP-1228). |
|
| Markers []WritableTxnMarker | The transaction markers to be written. | ||||||||||||||
| ProducerId int64 | The current producer ID. | ||||||||||||||
| ProducerEpoch int16 | The current epoch associated with the producer ID. | ||||||||||||||
| TransactionResult bool | The result of the transaction to write to the partitions (false = ABORT, true = COMMIT). | ||||||||||||||
| Topics []WritableTxnMarkerTopic | Each topic that we want to write transaction marker(s) for. | ||||||||||||||
| Name string | The topic name. | ||||||||||||||
| PartitionIndexes []int32 | The indexes of the partitions to write transaction markers for. | ||||||||||||||
| CoordinatorEpoch int32 | Epoch associated with the transaction state partition hosted by this transaction coordinator. | ||||||||||||||
| TransactionVersion int8 | Transaction version of the marker. Ex: 0/1 = legacy (TV0/TV1), 2 = TV2 etc. | 0 |
| WriteTxnMarkersResponse wire format ↗ | Description | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 matches WriteTxnMarkersRequest version 2 (KIP-1228). |
|
| Markers []WritableTxnMarkerResult | The results for writing makers. | ||||||||||||||
| ProducerId int64 | The current producer ID in use by the transactional ID. | ||||||||||||||
| Topics []WritableTxnMarkerTopicResult | The results by topic. | ||||||||||||||
| Name string | The topic name. | ||||||||||||||
| Partitions []WritableTxnMarkerPartitionResult | The results by partition. | ||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. |
| TxnOffsetCommitRequestbroker wire format ↗ | Description | v0 | v1 | v2 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v5 | v5 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds the committed leader epoch. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 adds the member.id, group.instance.id and generation.id. Flexible encoding enabled. | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 | 4.0 is the same as version 4 (KIP-890). Note when TxnOffsetCommit requests are used in transaction, if transaction V2 (KIP-890 part 2) is enabled, the TxnOffsetCommit request will also include the function for a AddOffsetsToTxn call. If V2 is disabled, the client can't use TxnOffsetCommit request version higher than 4 within a transaction. | 4.1 | 4.2 | |
| TransactionalId string | The ID of the transaction. | ||||||||||||||||||||||
| GroupId string | The ID of the group. | ||||||||||||||||||||||
| ProducerId int64 | The current producer ID in use by the transactional ID. | ||||||||||||||||||||||
| ProducerEpoch int16 | The current epoch associated with the producer ID. | ||||||||||||||||||||||
| GenerationId int32 | The generation of the consumer. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||
| MemberId string | The member ID assigned by the group coordinator. | ||||||||||||||||||||||
| GroupInstanceId string | The unique identifier of the consumer instance provided by end user. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | |||||
| Topics []TxnOffsetCommitRequestTopic | Each topic that we want to commit offsets for. | ||||||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||||||
| Partitions []TxnOffsetCommitRequestPartition | The partitions inside the topic that we want to commit offsets for. | ||||||||||||||||||||||
| PartitionIndex int32 | The index of the partition within the topic. | ||||||||||||||||||||||
| CommittedOffset int64 | The message offset to be committed. | ||||||||||||||||||||||
| CommittedLeaderEpoch int32 | The leader epoch of the last consumed record. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||
| CommittedMetadata string | Any associated metadata the client wants to keep. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| TxnOffsetCommitResponse wire format ↗ | Description | v0 | v1 | v2 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v5 | v5 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 1. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 adds illegal generation, fenced instance id, and unknown member id errors. Flexible encoding enabled. | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds support for new error code TRANSACTION_ABORTABLE (KIP-890). | 3.9 | 4.0 is the same with version 3 (KIP-890). | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||||
| Topics []TxnOffsetCommitResponseTopic | The responses for each topic. | ||||||||||||||||||||||
| Name string | The topic name. | ||||||||||||||||||||||
| Partitions []TxnOffsetCommitResponsePartition | The responses for each partition in the topic. | ||||||||||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. |
ACLs
| DescribeAclsRequestbrokercontroller wire format ↗ | Description | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 adds resource pattern type. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 enables flexible versions. | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds user resource type. | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ResourceTypeFilter int8 | The resource type. | ||||||||||||||||||||
| ResourceNameFilter string | The resource name, or null to match any resource name. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| PatternTypeFilter int8 | The resource pattern to match. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| PrincipalFilter string | The principal to match, or null to match any principal. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| HostFilter string | The host to match, or null to match any host. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Operation int8 | The operation to match. | ||||||||||||||||||||
| PermissionType int8 | The permission type to match. |
| DescribeAclsResponse wire format ↗ | Description | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 enables flexible versions. | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds user resource type. | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||||||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Resources []DescribeAclsResource | Each Resource that is referenced in an ACL. | ||||||||||||||||||||
| ResourceType int8 | The resource type. | ||||||||||||||||||||
| ResourceName string | The resource name. | ||||||||||||||||||||
| PatternType int8 | The resource pattern type. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| Acls []AclDescription | The ACLs. | ||||||||||||||||||||
| Principal string | The ACL principal. | ||||||||||||||||||||
| Host string | The ACL host. | ||||||||||||||||||||
| Operation int8 | The ACL operation. | ||||||||||||||||||||
| PermissionType int8 | The ACL permission type. |
| CreateAclsRequestbrokercontroller wire format ↗ | Description | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 adds resource pattern type. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 enables flexible versions. | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds user resource type. | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Creations []AclCreation | The ACLs that we want to create. | ||||||||||||||||||||
| ResourceType int8 | The type of the resource. | ||||||||||||||||||||
| ResourceName string | The resource name for the ACL. | ||||||||||||||||||||
| ResourcePatternType int8 | The pattern type for the ACL. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| Principal string | The principal for the ACL. | ||||||||||||||||||||
| Host string | The host for the ACL. | ||||||||||||||||||||
| Operation int8 | The operation type for the ACL (read, write, etc.). | ||||||||||||||||||||
| PermissionType int8 | The permission type for the ACL (allow, deny, etc.). |
| CreateAclsResponse wire format ↗ | Description | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 enables flexible versions. | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds user resource type. | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||
| Results []AclCreationResult | The results for each ACL creation. | ||||||||||||||||||||
| ErrorCode int16 | The result error, or zero if there was no error. | ||||||||||||||||||||
| ErrorMessage string | The result message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| DeleteAclsRequestbrokercontroller wire format ↗ | Description | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 adds the pattern type. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 enables flexible versions. | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds the user resource type. | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Filters []DeleteAclsFilter | The filters to use when deleting ACLs. | ||||||||||||||||||||
| ResourceTypeFilter int8 | The resource type. | ||||||||||||||||||||
| ResourceNameFilter string | The resource name, or null to match any resource name. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| PatternTypeFilter int8 | The pattern type. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| PrincipalFilter string | The principal filter, or null to accept all principals. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| HostFilter string | The host filter, or null to accept all hosts. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Operation int8 | The ACL operation. | ||||||||||||||||||||
| PermissionType int8 | The permission type. |
| DeleteAclsResponse wire format ↗ | Description | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 enables flexible versions. | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds the user resource type. | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||
| FilterResults []DeleteAclsFilterResult | The results for each filter. | ||||||||||||||||||||
| ErrorCode int16 | The error code, or 0 if the filter succeeded. | ||||||||||||||||||||
| ErrorMessage string | The error message, or null if the filter succeeded. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| MatchingAcls []DeleteAclsMatchingAcl | The ACLs which matched this filter. | ||||||||||||||||||||
| ErrorCode int16 | The deletion error code, or 0 if the deletion succeeded. | ||||||||||||||||||||
| ErrorMessage string | The deletion error message, or null if the deletion succeeded. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ResourceType int8 | The ACL resource type. | ||||||||||||||||||||
| ResourceName string | The ACL resource name. | ||||||||||||||||||||
| PatternType int8 | The ACL resource pattern type. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| Principal string | The ACL principal. | ||||||||||||||||||||
| Host string | The ACL host. | ||||||||||||||||||||
| Operation int8 | The ACL operation. | ||||||||||||||||||||
| PermissionType int8 | The ACL permission type. |
Delegation Tokens
| CreateDelegationTokenRequestbrokercontroller wire format ↗ | Description | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds owner principal | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| OwnerPrincipalType string | The principal type of the owner of the token. If it's null it defaults to the token request principal. | null | null | null | null | null | null | null | null | null | null | ||||||||||
| OwnerPrincipalName string | The principal name of the owner of the token. If it's null it defaults to the token request principal. | null | null | null | null | null | null | null | null | null | null | ||||||||||
| Renewers []CreatableRenewers | A list of those who are allowed to renew this token before it expires. | ||||||||||||||||||||
| PrincipalType string | The type of the Kafka principal. | ||||||||||||||||||||
| PrincipalName string | The name of the Kafka principal. | ||||||||||||||||||||
| MaxLifetimeMs int64 | The maximum lifetime of the token in milliseconds, or -1 to use the server side default. |
| CreateDelegationTokenResponse wire format ↗ | Description | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 is the first flexible version. | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds token requester details | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ErrorCode int16 | The top-level error, or zero if there was no error. | ||||||||||||||||||||
| PrincipalType string | The principal type of the token owner. | ||||||||||||||||||||
| PrincipalName string | The name of the token owner. | ||||||||||||||||||||
| TokenRequesterPrincipalType string | The principal type of the requester of the token. | ||||||||||||||||||||
| TokenRequesterPrincipalName string | The principal type of the requester of the token. | ||||||||||||||||||||
| IssueTimestampMs int64 | When this token was generated. | ||||||||||||||||||||
| ExpiryTimestampMs int64 | When this token expires. | ||||||||||||||||||||
| MaxTimestampMs int64 | The maximum lifetime of this token. | ||||||||||||||||||||
| TokenId string | The token UUID. | ||||||||||||||||||||
| Hmac bytes | HMAC of the delegation token. | ||||||||||||||||||||
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. |
| RenewDelegationTokenRequestbrokercontroller wire format ↗ | Description | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 adds flexible version support | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Hmac bytes | The HMAC of the delegation token to be renewed. | ||||||||||||||||||||
| RenewPeriodMs int64 | The renewal time period in milliseconds. |
| RenewDelegationTokenResponse wire format ↗ | Description | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 adds flexible version support | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||||||||
| ExpiryTimestampMs int64 | The timestamp in milliseconds at which this token expires. | ||||||||||||||||||||
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. |
| ExpireDelegationTokenRequestbrokercontroller wire format ↗ | Description | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 adds flexible version support | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Hmac bytes | The HMAC of the delegation token to be expired. | ||||||||||||||||||||
| ExpiryTimePeriodMs int64 | The expiry time period in milliseconds. |
| ExpireDelegationTokenResponse wire format ↗ | Description | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 adds flexible version support | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||||||||
| ExpiryTimestampMs int64 | The timestamp in milliseconds at which this token expires. | ||||||||||||||||||||
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. |
| DescribeDelegationTokenRequestbrokercontroller wire format ↗ | Description | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 adds flexible version support | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds token requester into the response | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Owners []DescribeDelegationTokenOwner | Each owner that we want to describe delegation tokens for, or null to describe all tokens. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| PrincipalType string | The owner principal type. | ||||||||||||||||||||
| PrincipalName string | The owner principal name. |
| DescribeDelegationTokenResponse wire format ↗ | Description | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 on quota violation, brokers send out responses before throttling. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 adds flexible version support | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds token requester details | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||||||||
| Tokens []DescribedDelegationToken | The tokens. | ||||||||||||||||||||
| PrincipalType string | The token principal type. | ||||||||||||||||||||
| PrincipalName string | The token principal name. | ||||||||||||||||||||
| TokenRequesterPrincipalType string | The principal type of the requester of the token. | ||||||||||||||||||||
| TokenRequesterPrincipalName string | The principal type of the requester of the token. | ||||||||||||||||||||
| IssueTimestamp int64 | The token issue timestamp in milliseconds. | ||||||||||||||||||||
| ExpiryTimestamp int64 | The token expiry timestamp in milliseconds. | ||||||||||||||||||||
| MaxTimestamp int64 | The token maximum timestamp length in milliseconds. | ||||||||||||||||||||
| TokenId string | The token ID. | ||||||||||||||||||||
| Hmac bytes | The token HMAC. | ||||||||||||||||||||
| Renewers []DescribedDelegationTokenRenewer | Those who are able to renew this token before it expires. | ||||||||||||||||||||
| PrincipalType string | The renewer principal type. | ||||||||||||||||||||
| PrincipalName string | The renewer principal name. | ||||||||||||||||||||
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. |
KRaft
| VoteRequestcontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 Flexible encoding enabled. | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 adds voter key and directory id (KIP-853) | 4.0 adds PreVote field and renames candidate to replica | 4.1 | 4.2 | |
| ClusterId string | The cluster id. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| VoterId int32 | The replica id of the voter receiving the request. | -1 | -1 | -1 | -1 | |||||||||||
| Topics []TopicData | The topic data. | |||||||||||||||
| TopicName string | The topic name. | |||||||||||||||
| Partitions []PartitionData | The partition data. | |||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||
| ReplicaEpoch int32 | The epoch of the voter sending the request | |||||||||||||||
| ReplicaId int32 | The replica id of the voter sending the request | |||||||||||||||
| ReplicaDirectoryId uuid | The directory id of the voter sending the request | |||||||||||||||
| VoterDirectoryId uuid | The directory id of the voter receiving the request | |||||||||||||||
| LastOffsetEpoch int32 | The epoch of the last record written to the metadata log. | |||||||||||||||
| LastOffset int64 | The log end offset of the metadata log of the voter sending the request. | |||||||||||||||
| PreVote bool | Whether the request is a PreVote request (not persisted) or not. |
| VoteResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 Flexible encoding enabled. | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 adds leader endpoint (KIP-853) | 4.0 handles PreVote requests | 4.1 | 4.2 | |
| ErrorCode int16 | The top level error code. | |||||||||||||||
| Topics []TopicData | The results for each topic. | |||||||||||||||
| TopicName string | The topic name. | |||||||||||||||
| Partitions []PartitionData | The results for each partition. | |||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||
| ErrorCode int16 | The partition level error code. | |||||||||||||||
| LeaderId int32 | The ID of the current leader or -1 if the leader is unknown. | |||||||||||||||
| LeaderEpoch int32 | The latest known leader epoch. | |||||||||||||||
| VoteGranted bool | True if the vote was granted and false otherwise. | |||||||||||||||
| NodeEndpoints []NodeEndpoint | Endpoints for all current-leaders enumerated in PartitionData. | |||||||||||||||
| NodeId int32 | The ID of the associated node. | |||||||||||||||
| Host string | The node's hostname. | |||||||||||||||
| Port uint16 | The node's port. |
| BeginQuorumEpochRequestcontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 adds flexible versions, voter key and leader endpoints (KIP-853) | 4.0 | 4.1 | 4.2 | |
| ClusterId string | The cluster id. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| VoterId int32 | The replica id of the voter receiving the request. | -1 | -1 | -1 | -1 | |||||||||||
| Topics []TopicData | The topics. | |||||||||||||||
| TopicName string | The topic name. | |||||||||||||||
| Partitions []PartitionData | The partitions. | |||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||
| VoterDirectoryId uuid | The directory id of the receiving replica. | |||||||||||||||
| LeaderId int32 | The ID of the newly elected leader. | |||||||||||||||
| LeaderEpoch int32 | The epoch of the newly elected leader. | |||||||||||||||
| LeaderEndpoints []LeaderEndpoint | Endpoints for the leader. | |||||||||||||||
| Name string | The name of the endpoint. | |||||||||||||||
| Host string | The node's hostname. | |||||||||||||||
| Port uint16 | The node's port. |
| BeginQuorumEpochResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 adds flexible versions and leader endpoint (KIP-853) | 4.0 | 4.1 | 4.2 | |
| ErrorCode int16 | The top level error code. | |||||||||||||||
| Topics []TopicData | The topic data. | |||||||||||||||
| TopicName string | The topic name. | |||||||||||||||
| Partitions []PartitionData | The partition data. | |||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||
| ErrorCode int16 | The error code for this partition. | |||||||||||||||
| LeaderId int32 | The ID of the current leader or -1 if the leader is unknown. | |||||||||||||||
| LeaderEpoch int32 | The latest known leader epoch. | |||||||||||||||
| NodeEndpoints []NodeEndpoint | Endpoints for all leaders enumerated in PartitionData. | |||||||||||||||
| NodeId int32 | The ID of the associated node. | |||||||||||||||
| Host string | The node's hostname. | |||||||||||||||
| Port uint16 | The node's port. |
| EndQuorumEpochRequestcontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 adds flexible versions, replaces preferred successors with preferred candidates and adds leader endpoints (KIP-853) | 4.0 | 4.1 | 4.2 | |
| ClusterId string | The cluster id. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Topics []TopicData | The topics. | |||||||||||||||
| TopicName string | The topic name. | |||||||||||||||
| Partitions []PartitionData | The partitions. | |||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||
| LeaderId int32 | The current leader ID that is resigning. | |||||||||||||||
| LeaderEpoch int32 | The current epoch. | |||||||||||||||
| PreferredSuccessors []int32 | A sorted list of preferred successors to start the election. | |||||||||||||||
| PreferredCandidates []ReplicaInfo | A sorted list of preferred candidates to start the election. | |||||||||||||||
| CandidateId int32 | The ID of the candidate replica. | |||||||||||||||
| CandidateDirectoryId uuid | The directory ID of the candidate replica. | |||||||||||||||
| LeaderEndpoints []LeaderEndpoint | Endpoints for the leader. | |||||||||||||||
| Name string | The name of the endpoint. | |||||||||||||||
| Host string | The node's hostname. | |||||||||||||||
| Port uint16 | The node's port. |
| EndQuorumEpochResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 adds flexible versions and leader endpoint (KIP-853) | 4.0 | 4.1 | 4.2 | |
| ErrorCode int16 | The top level error code. | |||||||||||||||
| Topics []TopicData | The topic data. | |||||||||||||||
| TopicName string | The topic name. | |||||||||||||||
| Partitions []PartitionData | The partition data. | |||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||
| ErrorCode int16 | The partition level error code. | |||||||||||||||
| LeaderId int32 | The ID of the current leader or -1 if the leader is unknown. | |||||||||||||||
| LeaderEpoch int32 | The latest known leader epoch. | |||||||||||||||
| NodeEndpoints []NodeEndpoint | Endpoints for all leaders enumerated in PartitionData. | |||||||||||||||
| NodeId int32 | The ID of the associated node. | |||||||||||||||
| Host string | The node's hostname. | |||||||||||||||
| Port uint16 | The node's port. |
| DescribeQuorumRequestbrokercontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 Flexible encoding enabled. | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds additional fields in the response. The request is unchanged (KIP-836). | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 adds additional fields in the response. The request is unchanged (KIP-853). | 4.0 | 4.1 | 4.2 | |
| Topics []TopicData | The topics to describe. | |||||||||||||||
| TopicName string | The topic name. | |||||||||||||||
| Partitions []PartitionData | The partitions to describe. | |||||||||||||||
| PartitionIndex int32 | The partition index. |
| DescribeQuorumResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 Flexible encoding enabled. | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds LastFetchTimeStamp and LastCaughtUpTimestamp in ReplicaState (KIP-836). | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 adds ErrorMessage, Nodes, ErrorMessage in PartitionData, ReplicaDirectoryId in ReplicaState (KIP-853). | 4.0 | 4.1 | 4.2 | |
| ErrorCode int16 | The top level error code. | |||||||||||||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null | |||||||||||
| Topics []TopicData | The response from the describe quorum API. | |||||||||||||||
| TopicName string | The topic name. | |||||||||||||||
| Partitions []PartitionData | The partition data. | |||||||||||||||
| PartitionIndex int32 | The partition index. | |||||||||||||||
| ErrorCode int16 | The partition error code. | |||||||||||||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null | |||||||||||
| LeaderId int32 | The ID of the current leader or -1 if the leader is unknown. | |||||||||||||||
| LeaderEpoch int32 | The latest known leader epoch. | |||||||||||||||
| HighWatermark int64 | The high water mark. | |||||||||||||||
| CurrentVoters []ReplicaState | The current voters of the partition. | |||||||||||||||
| ReplicaId int32 | The ID of the replica. | |||||||||||||||
| ReplicaDirectoryId uuid | The replica directory ID of the replica. | |||||||||||||||
| LogEndOffset int64 | The last known log end offset of the follower or -1 if it is unknown. | |||||||||||||||
| LastFetchTimestamp int64 | The last known leader wall clock time time when a follower fetched from the leader. This is reported as -1 both for the current le.. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||
| LastCaughtUpTimestamp int64 | The leader wall clock append time of the offset for which the follower made the most recent fetch request. This is reported as the.. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||
| Observers []ReplicaState | The observers of the partition. | |||||||||||||||
| ReplicaId int32 | The ID of the replica. | |||||||||||||||
| ReplicaDirectoryId uuid | The replica directory ID of the replica. | |||||||||||||||
| LogEndOffset int64 | The last known log end offset of the follower or -1 if it is unknown. | |||||||||||||||
| LastFetchTimestamp int64 | The last known leader wall clock time time when a follower fetched from the leader. This is reported as -1 both for the current le.. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||
| LastCaughtUpTimestamp int64 | The leader wall clock append time of the offset for which the follower made the most recent fetch request. This is reported as the.. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||
| Nodes []Node | The nodes in the quorum. | |||||||||||||||
| NodeId int32 | The ID of the associated node. | |||||||||||||||
| Listeners []Listener | The listeners of this controller. | |||||||||||||||
| Name string | The name of the endpoint. | |||||||||||||||
| Host string | The hostname. | |||||||||||||||
| Port uint16 | The port. |
| AlterPartitionRequestcontroller wire format ↗ | Description | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 3.3 adds TopicId field to replace TopicName field (KIP-841). Flexible encoding enabled. | 3.4 | 3.5 adds the NewIsrEpochs field and deprecates the NewIsr field (KIP-903). | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| BrokerId int32 | The ID of the requesting broker. | ||||||||||
| BrokerEpoch int64 | The epoch of the requesting broker. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| Topics []TopicData | The topics to alter ISRs for. | ||||||||||
| TopicId uuid | The ID of the topic to alter ISRs for. | ||||||||||
| Partitions []PartitionData | The partitions to alter ISRs for. | ||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||
| LeaderEpoch int32 | The leader epoch of this partition. | ||||||||||
| NewIsr []int32 | The ISR for this partition. Deprecated since version 3. | ||||||||||
| NewIsrWithEpochs []BrokerState | The ISR for this partition. | ||||||||||
| BrokerId int32 | The ID of the broker. | ||||||||||
| BrokerEpoch int64 | The epoch of the broker. It will be -1 if the epoch check is not supported. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||
| LeaderRecoveryState int8 | 1 if the partition is recovering from an unclean leader election; 0 otherwise. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| PartitionEpoch int32 | The expected epoch of the partition which is being updated. |
| AlterPartitionResponse wire format ↗ | Description | v2 | v2 | v3 | v3 | v3 | v3 | v3 | v3 | v3 | v3 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 3.3 adds TopicId field to replace TopicName field, can return the following new errors: INELIGIBLE_REPLICA, NEW_LEADER_ELECTED and UNKNOWN_TOPIC_ID (KIP-841). Flexible encoding enabled. | 3.4 | 3.5 is the same as version 2 (KIP-903). | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||
| ErrorCode int16 | The top level response error code. | ||||||||||
| Topics []TopicData | The responses for each topic. | ||||||||||
| TopicId uuid | The ID of the topic. | ||||||||||
| Partitions []PartitionData | The responses for each partition. | ||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||
| ErrorCode int16 | The partition level error code. | ||||||||||
| LeaderId int32 | The broker ID of the leader. | ||||||||||
| LeaderEpoch int32 | The leader epoch. | ||||||||||
| Isr []int32 | The in-sync replica IDs. | ||||||||||
| LeaderRecoveryState int8 | 1 if the partition is recovering from an unclean leader election; 0 otherwise. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| PartitionEpoch int32 | The current epoch for the partition for KRaft controllers. |
| EnvelopeRequestcontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| RequestData bytes | The embedded request header and data. | ||||||||||||||
| RequestPrincipal bytes | Value of the initial client principal when the request is redirected by a broker. | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ClientHostAddress bytes | The original client's address in bytes. |
| EnvelopeResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ResponseData bytes | The embedded response header and data. | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ErrorCode int16 | The error code, or 0 if there was no error. |
| FetchSnapshotRequestcontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 adds replica directory id (KIP-853) | 4.0 | 4.1 | 4.2 | |
| ClusterId string | The clusterId if known, this is used to validate metadata fetches prior to broker registration. | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ReplicaId int32 | The broker ID of the follower. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| MaxBytes int32 | The maximum bytes to fetch from all of the snapshots. | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff | 0x7fffffff |
| Topics []TopicSnapshot | The topics to fetch. | ||||||||||||||
| Name string | The name of the topic to fetch. | ||||||||||||||
| Partitions []PartitionSnapshot | The partitions to fetch. | ||||||||||||||
| Partition int32 | The partition index. | ||||||||||||||
| CurrentLeaderEpoch int32 | The current leader epoch of the partition, -1 for unknown leader epoch. | ||||||||||||||
| SnapshotId SnapshotId | The snapshot endOffset and epoch to fetch. | ||||||||||||||
| EndOffset int64 | The end offset of the snapshot. | ||||||||||||||
| Epoch int32 | The epoch of the snapshot. | ||||||||||||||
| Position int64 | The byte position within the snapshot to start fetching from. | ||||||||||||||
| ReplicaDirectoryId uuid | The directory id of the follower fetching. |
| FetchSnapshotResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 adds leader endpoint (KIP-853) | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||
| ErrorCode int16 | The top level response error code. | ||||||||||||||
| Topics []TopicSnapshot | The topics to fetch. | ||||||||||||||
| Name string | The name of the topic to fetch. | ||||||||||||||
| Partitions []PartitionSnapshot | The partitions to fetch. | ||||||||||||||
| Index int32 | The partition index. | ||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no fetch error. | ||||||||||||||
| SnapshotId SnapshotId | The snapshot endOffset and epoch fetched. | ||||||||||||||
| EndOffset int64 | The snapshot end offset. | ||||||||||||||
| Epoch int32 | The snapshot epoch. | ||||||||||||||
| CurrentLeader LeaderIdAndEpoch | The leader of the partition at the time of the snapshot. | ||||||||||||||
| LeaderId int32 | The ID of the current leader or -1 if the leader is unknown. | ||||||||||||||
| LeaderEpoch int32 | The latest known leader epoch. | ||||||||||||||
| Size int64 | The total size of the snapshot. | ||||||||||||||
| Position int64 | The starting byte position within the snapshot included in the Bytes field. | ||||||||||||||
| UnalignedRecords records | Snapshot data in records format which may not be aligned on an offset boundary. | ||||||||||||||
| NodeEndpoints []NodeEndpoint | Endpoints for all current-leaders enumerated in PartitionSnapshot. | ||||||||||||||
| NodeId int32 | The ID of the associated node. | ||||||||||||||
| Host string | The node's hostname. | ||||||||||||||
| Port uint16 | The node's port. |
| BrokerRegistrationRequestcontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v2 | v3 | v3 | v4 | v4 | v4 | v4 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 adds Zk broker epoch to the request if the broker is migrating from Zk mode to KRaft mode. | 3.5 | 3.6 | 3.7 adds LogDirs for KIP-858 | 3.7 adds the PreviousBrokerEpoch for the KIP-966 | 3.8 | 3.9 fixes KAFKA-17011, which blocked SupportedFeatures.MinVersion in the response from being 0. | 4.0 | 4.1 | 4.2 | adds the CordonedLogDirs flexible field |
|
| BrokerId int32 | The broker ID. | ||||||||||||||||
| ClusterId string | The cluster id of the broker process. | ||||||||||||||||
| IncarnationId uuid | The incarnation id of the broker process. | ||||||||||||||||
| Listeners []Listener | The listeners of this broker. | ||||||||||||||||
| Name string | The name of the endpoint. | ||||||||||||||||
| Host string | The hostname. | ||||||||||||||||
| Port uint16 | The port. | ||||||||||||||||
| SecurityProtocol int16 | The security protocol. | ||||||||||||||||
| Features []Feature | The features on this broker. Note: in v0-v3, features with MinSupportedVersion = 0 are omitted. | ||||||||||||||||
| Name string | The feature name. | ||||||||||||||||
| MinSupportedVersion int16 | The minimum supported feature level. | ||||||||||||||||
| MaxSupportedVersion int16 | The maximum supported feature level. | ||||||||||||||||
| Rack string | The rack which this broker is in. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| IsMigratingZkBroker bool | If the required configurations for ZK migration are present, this value is set to true. | false | false | false | false | false | false | false | false | false | false | false | |||||
| LogDirs []uuid | Log directories configured in this broker which are available. | ||||||||||||||||
| PreviousBrokerEpoch int64 | The epoch before a clean shutdown. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | |||||||||
| CordonedLogDirs []uuid | Log directories that are cordoned. |
| BrokerRegistrationResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v2 | v3 | v3 | v4 | v4 | v4 | v4 | v5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 adds Zk broker epoch to the request if the broker is migrating from Zk mode to KRaft mode. | 3.5 | 3.6 | 3.7 adds the PreviousBrokerEpoch to the request for the KIP-966 | 3.7 is the same as version 2 (new field in request). | 3.8 | 3.9 is the same as version 2 (new field in request). | 4.0 | 4.1 | 4.2 | is the same as version 2 (new field in request). |
|
| ThrottleTimeMs int32 | Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any .. | ||||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||||
| BrokerEpoch int64 | The broker's assigned epoch, or -1 if none was assigned. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| BrokerHeartbeatRequestcontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 adds the OfflineLogDirs flexible field | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | adds the CordonedLogDirs flexible field |
|
| BrokerId int32 | The broker ID. | |||||||||||||||
| BrokerEpoch int64 | The broker epoch. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| CurrentMetadataOffset int64 | The highest metadata offset which the broker has reached. | |||||||||||||||
| WantFence bool | True if the broker wants to be fenced, false otherwise. | |||||||||||||||
| WantShutDown bool | True if the broker wants to be shut down, false otherwise. | |||||||||||||||
| OfflineLogDirs []uuid | Log directories that failed and went offline. | |||||||||||||||
| CordonedLogDirs []uuid | Log directories that are cordoned. |
| BrokerHeartbeatResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 is the same as version 0 (new field in request). | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | is the same as version 0 (new field in request). |
|
| ThrottleTimeMs int32 | Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any .. | |||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | |||||||||||||||
| IsCaughtUp bool | True if the broker has approximately caught up with the latest metadata. | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false |
| IsFenced bool | True if the broker is fenced. | true | true | true | true | true | true | true | true | true | true | true | true | true | true | true |
| ShouldShutDown bool | True if the broker should proceed with its shutdown. |
| AddRaftVoterRequestcontrollerbroker wire format ↗ | Description | v0 | v0 | v0 | v1 |
|---|---|---|---|---|---|
| Kafka | 3.9 Flexible encoding enabled. | 4.0 | 4.1 | 4.2 adds the AckWhenCommitted field. |
|
| ClusterId string | The cluster id. | null | null | null | null |
| TimeoutMs int32 | The maximum time to wait for the request to complete before returning. | ||||
| VoterId int32 | The replica id of the voter getting added to the topic partition. | ||||
| VoterDirectoryId uuid | The directory id of the voter getting added to the topic partition. | ||||
| Listeners []Listener | The endpoints that can be used to communicate with the voter. | ||||
| Name string | The name of the endpoint. | ||||
| Host string | The hostname. | ||||
| Port uint16 | The port. | ||||
| AckWhenCommitted bool | When true, return a response after the new voter set is committed. Otherwise, return after the leader writes the changes locally. | true |
| AddRaftVoterResponse wire format ↗ | Description | v0 | v0 | v0 | v1 |
|---|---|---|---|---|---|
| Kafka | 3.9 Flexible encoding enabled. | 4.0 | 4.1 | 4.2 is the same as version 0 |
|
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null |
| RemoveRaftVoterRequestcontrollerbroker wire format ↗ | Description | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|
| Kafka | 3.9 Flexible encoding enabled. | 4.0 | 4.1 | 4.2 | |
| ClusterId string | The cluster id of the request. | null | null | null | null |
| VoterId int32 | The replica id of the voter getting removed from the topic partition. | ||||
| VoterDirectoryId uuid | The directory id of the voter getting removed from the topic partition. |
| RemoveRaftVoterResponse wire format ↗ | Description | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|
| Kafka | 3.9 Flexible encoding enabled. | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null |
| UpdateRaftVoterRequestcontroller wire format ↗ | Description | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|
| Kafka | 3.9 Flexible encoding enabled. | 4.0 | 4.1 | 4.2 | |
| ClusterId string | The cluster id. | null | null | null | null |
| CurrentLeaderEpoch int32 | The current leader epoch of the partition, -1 for unknown leader epoch. | ||||
| VoterId int32 | The replica id of the voter getting updated in the topic partition. | ||||
| VoterDirectoryId uuid | The directory id of the voter getting updated in the topic partition. | ||||
| Listeners []Listener | The endpoint that can be used to communicate with the leader. | ||||
| Name string | The name of the endpoint. | ||||
| Host string | The hostname. | ||||
| Port uint16 | The port. | ||||
| KRaftVersionFeature KRaftVersionFeature | The range of versions of the protocol that the replica supports. | ||||
| MinSupportedVersion int16 | The minimum supported KRaft protocol version. | ||||
| MaxSupportedVersion int16 | The maximum supported KRaft protocol version. |
| UpdateRaftVoterResponse wire format ↗ | Description | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|
| Kafka | 3.9 Flexible encoding enabled. | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||
| CurrentLeader CurrentLeader | Details of the current Raft cluster leader. | ||||
| LeaderId int32 | The replica id of the current leader or -1 if the leader is unknown. | -1 | -1 | -1 | -1 |
| LeaderEpoch int32 | The latest known leader epoch. | -1 | -1 | -1 | -1 |
| Host string | The node's hostname. | ||||
| Port int32 | The node's port. |
Share Groups
| ShareGroupHeartbeatRequestbroker wire format ↗ | Description | v1 | v1 |
|---|---|---|---|
| Kafka | 4.1 is the initial stable version (KIP-932). Flexible encoding enabled. | 4.2 | |
| GroupId string | The group identifier. | ||
| MemberId string | The member id generated by the consumer. The member id must be kept during the entire lifetime of the consumer process. | ||
| MemberEpoch int32 | The current member epoch; 0 to join the group; -1 to leave the group. | ||
| RackId string | null if not provided or if it didn't change since the last heartbeat; the rack ID of consumer otherwise. | null | null |
| SubscribedTopicNames []string | null if it didn't change since the last heartbeat; the subscribed topic names otherwise. | null | null |
| ShareGroupHeartbeatResponse wire format ↗ | Description | v1 | v1 |
|---|---|---|---|
| Kafka | 4.1 is the initial stable version (KIP-932). Flexible encoding enabled. | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||
| ErrorCode int16 | The top-level error code, or 0 if there was no error. | ||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null |
| MemberId string | The member ID is generated by the consumer and provided by the consumer for all requests. | null | null |
| MemberEpoch int32 | The member epoch. | ||
| HeartbeatIntervalMs int32 | The heartbeat interval in milliseconds. | ||
| Assignment Assignment | null if not provided; the assignment otherwise. | null | null |
| TopicPartitions []TopicPartitions | The partitions assigned to the member. | ||
| TopicId uuid | The topic ID. | ||
| Partitions []int32 | The partitions. |
| ShareGroupDescribeRequestbroker wire format ↗ | Description | v1 | v1 |
|---|---|---|---|
| Kafka | 4.1 is the initial stable version (KIP-932). Flexible encoding enabled. | 4.2 | |
| GroupIds []string | The ids of the groups to describe. | ||
| IncludeAuthorizedOperations bool | Whether to include authorized operations. |
| ShareGroupDescribeResponse wire format ↗ | Description | v1 | v1 |
|---|---|---|---|
| Kafka | 4.1 is the initial stable version (KIP-932). Flexible encoding enabled. | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||
| Groups []DescribedGroup | Each described group. | ||
| ErrorCode int16 | The describe error, or 0 if there was no error. | ||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null |
| GroupId string | The group ID string. | ||
| GroupState string | The group state string, or the empty string. | ||
| GroupEpoch int32 | The group epoch. | ||
| AssignmentEpoch int32 | The assignment epoch. | ||
| AssignorName string | The selected assignor. | ||
| Members []Member | The members. | ||
| MemberId string | The member ID. | ||
| RackId string | The member rack ID. | null | null |
| MemberEpoch int32 | The current member epoch. | ||
| ClientId string | The client ID. | ||
| ClientHost string | The client host. | ||
| SubscribedTopicNames []string | The subscribed topic names. | ||
| Assignment Assignment | The current assignment. | ||
| TopicPartitions []TopicPartitions | The assigned topic-partitions to the member. | ||
| TopicId uuid | The topic ID. | ||
| TopicName string | The topic name. | ||
| Partitions []int32 | The partitions. | ||
| AuthorizedOperations int32 | 32-bit bitfield to represent authorized operations for this group. | -2147483648 | -2147483648 |
| ShareFetchRequestbroker wire format ↗ | Description | v1 | v2 |
|---|---|---|---|
| Kafka | 4.1 is the initial stable version (KIP-932). Flexible encoding enabled. | 4.2 | |
| GroupId string | The group identifier. | null | null |
| MemberId string | The member ID. | null | null |
| ShareSessionEpoch int32 | The current share session epoch: 0 to open a share session; -1 to close it; otherwise increments for consecutive requests. | ||
| MaxWaitMs int32 | The maximum time in milliseconds to wait for the response. | ||
| MinBytes int32 | The minimum bytes to accumulate in the response. | ||
| MaxBytes int32 | The maximum bytes to fetch. See KIP-74 for cases where this limit may not be honored. | 0x7fffffff | 0x7fffffff |
| MaxRecords int32 | The maximum number of records to fetch. This limit can be exceeded for alignment of batch boundaries. | ||
| BatchSize int32 | The optimal number of records for batches of acquired records and acknowledgements. | ||
| ShareAcquireMode int8 | The acquire mode to control the fetch behavior - 0:batch-optimized,1:record-limit. | 0 | |
| IsRenewAck bool | Whether Renew type acknowledgements present in AcknowledgementBatches. | false | |
| Topics []FetchTopic | The topics to fetch. | ||
| TopicId uuid | The unique topic ID. | ||
| Partitions []FetchPartition | The partitions to fetch. | ||
| PartitionIndex int32 | The partition index. | ||
| PartitionMaxBytes int32 | The maximum bytes to fetch from this partition. 0 when only acknowledgement with no fetching is required. See KIP-74 for cases whe.. | ||
| AcknowledgementBatches []AcknowledgementBatch | Record batches to acknowledge. | ||
| FirstOffset int64 | First offset of batch of records to acknowledge. | ||
| LastOffset int64 | Last offset (inclusive) of batch of records to acknowledge. | ||
| AcknowledgeTypes []int8 | Array of acknowledge types - 0:Gap,1:Accept,2:Release,3:Reject,4:Renew. | ||
| ForgottenTopicsData []ForgottenTopic | The partitions to remove from this share session. | ||
| TopicId uuid | The unique topic ID. | ||
| Partitions []int32 | The partitions indexes to forget. |
| ShareFetchResponse wire format ↗ | Description | v1 | v2 |
|---|---|---|---|
| Kafka | 4.1 is the initial stable version (KIP-932). Flexible encoding enabled. | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||
| ErrorCode int16 | The top-level response error code. | ||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null |
| AcquisitionLockTimeoutMs int32 | The time in milliseconds for which the acquired records are locked. | ||
| Responses []ShareFetchableTopicResponse | The response topics. | ||
| TopicId uuid | The unique topic ID. | ||
| Partitions []PartitionData | The topic partitions. | ||
| PartitionIndex int32 | The partition index. | ||
| ErrorCode int16 | The fetch error code, or 0 if there was no fetch error. | ||
| ErrorMessage string | The fetch error message, or null if there was no fetch error. | null | null |
| AcknowledgeErrorCode int16 | The acknowledge error code, or 0 if there was no acknowledge error. | ||
| AcknowledgeErrorMessage string | The acknowledge error message, or null if there was no acknowledge error. | null | null |
| CurrentLeader LeaderIdAndEpoch | The current leader of the partition. | ||
| LeaderId int32 | The ID of the current leader or -1 if the leader is unknown. | ||
| LeaderEpoch int32 | The latest known leader epoch. | ||
| Records records | The record data. | ||
| AcquiredRecords []AcquiredRecords | The acquired records. | ||
| FirstOffset int64 | The earliest offset in this batch of acquired records. | ||
| LastOffset int64 | The last offset of this batch of acquired records. | ||
| DeliveryCount int16 | The delivery count of this batch of acquired records. | ||
| NodeEndpoints []NodeEndpoint | Endpoints for all current leaders enumerated in PartitionData with error NOT_LEADER_OR_FOLLOWER. | ||
| NodeId int32 | The ID of the associated node. | ||
| Host string | The node's hostname. | ||
| Port int32 | The node's port. | ||
| Rack string | The rack of the node, or null if it has not been assigned to a rack. | null | null |
| ShareAcknowledgeRequestbroker wire format ↗ | Description | v1 | v2 |
|---|---|---|---|
| Kafka | 4.1 is the initial stable version (KIP-932). Flexible encoding enabled. | 4.2 introduces Renew acknowledgements (KIP-1222). |
|
| GroupId string | The group identifier. | null | null |
| MemberId string | The member ID. | null | null |
| ShareSessionEpoch int32 | The current share session epoch: 0 to open a share session; -1 to close it; otherwise increments for consecutive requests. | ||
| IsRenewAck bool | Whether Renew type acknowledgements present in AcknowledgementBatches. | false | |
| Topics []AcknowledgeTopic | The topics containing records to acknowledge. | ||
| TopicId uuid | The unique topic ID. | ||
| Partitions []AcknowledgePartition | The partitions containing records to acknowledge. | ||
| PartitionIndex int32 | The partition index. | ||
| AcknowledgementBatches []AcknowledgementBatch | Record batches to acknowledge. | ||
| FirstOffset int64 | First offset of batch of records to acknowledge. | ||
| LastOffset int64 | Last offset (inclusive) of batch of records to acknowledge. | ||
| AcknowledgeTypes []int8 | Array of acknowledge types - 0:Gap,1:Accept,2:Release,3:Reject,4:Renew. |
| ShareAcknowledgeResponse wire format ↗ | Description | v1 | v2 |
|---|---|---|---|
| Kafka | 4.1 is the initial stable version (KIP-932). Flexible encoding enabled. | 4.2 introduces Renew acknowledgements (KIP-1222). |
|
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||
| ErrorCode int16 | The top level response error code. | ||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null |
| AcquisitionLockTimeoutMs int32 | The time in milliseconds for which the acquired records are locked. | ||
| Responses []ShareAcknowledgeTopicResponse | The response topics. | ||
| TopicId uuid | The unique topic ID. | ||
| Partitions []PartitionData | The topic partitions. | ||
| PartitionIndex int32 | The partition index. | ||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||
| ErrorMessage string | The error message, or null if there was no error. | null | null |
| CurrentLeader LeaderIdAndEpoch | The current leader of the partition. | ||
| LeaderId int32 | The ID of the current leader or -1 if the leader is unknown. | ||
| LeaderEpoch int32 | The latest known leader epoch. | ||
| NodeEndpoints []NodeEndpoint | Endpoints for all current leaders enumerated in PartitionData with error NOT_LEADER_OR_FOLLOWER. | ||
| NodeId int32 | The ID of the associated node. | ||
| Host string | The node's hostname. | ||
| Port int32 | The node's port. | ||
| Rack string | The rack of the node, or null if it has not been assigned to a rack. | null | null |
| InitializeShareGroupStateRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|
| Kafka | 3.9 Flexible encoding enabled. | 4.0 | 4.1 | 4.2 | |
| GroupId string | The group identifier. | ||||
| Topics []InitializeStateData | The data for the topics. | ||||
| TopicId uuid | The topic identifier. | ||||
| Partitions []PartitionData | The data for the partitions. | ||||
| Partition int32 | The partition index. | ||||
| StateEpoch int32 | The state epoch for this share-partition. | ||||
| StartOffset int64 | The share-partition start offset, or -1 if the start offset is not being initialized. |
| InitializeShareGroupStateResponse wire format ↗ | Description | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|
| Kafka | 3.9 Flexible encoding enabled. | 4.0 | 4.1 | 4.2 | |
| Results []InitializeStateResult | The initialization results. | ||||
| TopicId uuid | The topic identifier. | ||||
| Partitions []PartitionResult | The results for the partitions. | ||||
| Partition int32 | The partition index. | ||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null |
| ReadShareGroupStateRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|
| Kafka | 3.9 Flexible encoding enabled. | 4.0 | 4.1 | 4.2 | |
| GroupId string | The group identifier. | ||||
| Topics []ReadStateData | The data for the topics. | ||||
| TopicId uuid | The topic identifier. | ||||
| Partitions []PartitionData | The data for the partitions. | ||||
| Partition int32 | The partition index. | ||||
| LeaderEpoch int32 | The leader epoch of the share-partition. |
| ReadShareGroupStateResponse wire format ↗ | Description | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|
| Kafka | 3.9 Flexible encoding enabled. | 4.0 | 4.1 | 4.2 | |
| Results []ReadStateResult | The read results. | ||||
| TopicId uuid | The topic identifier. | ||||
| Partitions []PartitionResult | The results for the partitions. | ||||
| Partition int32 | The partition index. | ||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null |
| StateEpoch int32 | The state epoch of the share-partition. | ||||
| StartOffset int64 | The share-partition start offset, which can be -1 if it is not yet initialized. | ||||
| StateBatches []StateBatch | The state batches for this share-partition. | ||||
| FirstOffset int64 | The first offset of this state batch. | ||||
| LastOffset int64 | The last offset of this state batch. | ||||
| DeliveryState int8 | The delivery state - 0:Available,2:Acked,4:Archived. | ||||
| DeliveryCount int16 | The delivery count. |
| WriteShareGroupStateRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v1 |
|---|---|---|---|---|---|
| Kafka | 3.9 is the initial version (KIP-932). Flexible encoding enabled. | 4.0 | 4.1 | 4.2 introduces DeliveryCompleteCount (KIP-1226). |
|
| GroupId string | The group identifier. | ||||
| Topics []WriteStateData | The data for the topics. | ||||
| TopicId uuid | The topic identifier. | ||||
| Partitions []PartitionData | The data for the partitions. | ||||
| Partition int32 | The partition index. | ||||
| StateEpoch int32 | The state epoch of the share-partition. | ||||
| LeaderEpoch int32 | The leader epoch of the share-partition. | ||||
| StartOffset int64 | The share-partition start offset, or -1 if the start offset is not being written. | ||||
| DeliveryCompleteCount int32 | The number of offsets greater than or equal to share-partition start offset for which delivery has been completed. | -1 | |||
| StateBatches []StateBatch | The state batches for the share-partition. | ||||
| FirstOffset int64 | The first offset of this state batch. | ||||
| LastOffset int64 | The last offset of this state batch. | ||||
| DeliveryState int8 | The delivery state - 0:Available,2:Acked,4:Archived. | ||||
| DeliveryCount int16 | The delivery count. |
| WriteShareGroupStateResponse wire format ↗ | Description | v0 | v0 | v0 | v1 |
|---|---|---|---|---|---|
| Kafka | 3.9 is the initial version (KIP-932). Flexible encoding enabled. | 4.0 | 4.1 | 4.2 introduces DeliveryCompleteCount in the request (KIP-1226). |
|
| Results []WriteStateResult | The write results. | ||||
| TopicId uuid | The topic identifier. | ||||
| Partitions []PartitionResult | The results for the partitions. | ||||
| Partition int32 | The partition index. | ||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null |
| DeleteShareGroupStateRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|
| Kafka | 3.9 Flexible encoding enabled. | 4.0 | 4.1 | 4.2 | |
| GroupId string | The group identifier. | ||||
| Topics []DeleteStateData | The data for the topics. | ||||
| TopicId uuid | The topic identifier. | ||||
| Partitions []PartitionData | The data for the partitions. | ||||
| Partition int32 | The partition index. |
| DeleteShareGroupStateResponse wire format ↗ | Description | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|
| Kafka | 3.9 Flexible encoding enabled. | 4.0 | 4.1 | 4.2 | |
| Results []DeleteStateResult | The delete results. | ||||
| TopicId uuid | The topic identifier. | ||||
| Partitions []PartitionResult | The results for the partitions. | ||||
| Partition int32 | The partition index. | ||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null |
| ReadShareGroupStateSummaryRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v1 |
|---|---|---|---|---|---|
| Kafka | 3.9 is the initial version (KIP-932). Flexible encoding enabled. | 4.0 | 4.1 | 4.2 introduces DeliveryCompleteCount in the response (KIP-1226). |
|
| GroupId string | The group identifier. | ||||
| Topics []ReadStateSummaryData | The data for the topics. | ||||
| TopicId uuid | The topic identifier. | ||||
| Partitions []PartitionData | The data for the partitions. | ||||
| Partition int32 | The partition index. | ||||
| LeaderEpoch int32 | The leader epoch of the share-partition. |
| ReadShareGroupStateSummaryResponse wire format ↗ | Description | v0 | v0 | v0 | v1 |
|---|---|---|---|---|---|
| Kafka | 3.9 is the initial version (KIP-932). Flexible encoding enabled. | 4.0 | 4.1 | 4.2 introduces DeliveryCompleteCount (KIP-1226). |
|
| Results []ReadStateSummaryResult | The read results. | ||||
| TopicId uuid | The topic identifier. | ||||
| Partitions []PartitionResult | The results for the partitions. | ||||
| Partition int32 | The partition index. | ||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null |
| StateEpoch int32 | The state epoch of the share-partition. | ||||
| LeaderEpoch int32 | The leader epoch of the share-partition. | ||||
| StartOffset int64 | The share-partition start offset. | ||||
| DeliveryCompleteCount int32 | The number of offsets greater than or equal to share-partition start offset for which delivery has been completed. | -1 |
| DescribeShareGroupOffsetsRequestbroker wire format ↗ | Description | v0 | v1 |
|---|---|---|---|
| Kafka | 4.1 is the initial version (KIP-932). Flexible encoding enabled. | 4.2 introduces Lag in the response (KIP-1226). |
|
| Groups []DescribeShareGroupOffsetsRequestGroup | The groups to describe offsets for. | ||
| GroupId string | The group identifier. | ||
| Topics []DescribeShareGroupOffsetsRequestTopic | The topics to describe offsets for, or null for all topic-partitions. | null | null |
| TopicName string | The topic name. | ||
| Partitions []int32 | The partitions. |
| DescribeShareGroupOffsetsResponse wire format ↗ | Description | v0 | v1 |
|---|---|---|---|
| Kafka | 4.1 is the initial version (KIP-932). Flexible encoding enabled. | 4.2 introduces Lag (KIP-1226). |
|
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||
| Groups []DescribeShareGroupOffsetsResponseGroup | The results for each group. | ||
| GroupId string | The group identifier. | ||
| Topics []DescribeShareGroupOffsetsResponseTopic | The results for each topic. | ||
| TopicName string | The topic name. | ||
| TopicId uuid | The unique topic ID. | ||
| Partitions []DescribeShareGroupOffsetsResponsePartition | |||
| PartitionIndex int32 | The partition index. | ||
| StartOffset int64 | The share-partition start offset. | ||
| LeaderEpoch int32 | The leader epoch of the partition. | ||
| Lag int64 | The share-partition lag. | -1 | |
| ErrorCode int16 | The partition-level error code, or 0 if there was no error. | ||
| ErrorMessage string | The partition-level error message, or null if there was no error. | null | null |
| ErrorCode int16 | The group-level error code, or 0 if there was no error. | ||
| ErrorMessage string | The group-level error message, or null if there was no error. | null | null |
| AlterShareGroupOffsetsRequestbroker wire format ↗ | Description | v0 | v0 |
|---|---|---|---|
| Kafka | 4.1 Flexible encoding enabled. | 4.2 | |
| GroupId string | The group identifier. | ||
| Topics []AlterShareGroupOffsetsRequestTopic | The topics to alter offsets for. | ||
| TopicName string | The topic name. | ||
| Partitions []AlterShareGroupOffsetsRequestPartition | Each partition to alter offsets for. | ||
| PartitionIndex int32 | The partition index. | ||
| StartOffset int64 | The share-partition start offset. |
| AlterShareGroupOffsetsResponse wire format ↗ | Description | v0 | v0 |
|---|---|---|---|
| Kafka | 4.1 Flexible encoding enabled. | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||
| ErrorCode int16 | The top-level error code, or 0 if there was no error. | ||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null |
| Responses []AlterShareGroupOffsetsResponseTopic | The results for each topic. | ||
| TopicName string | The topic name. | ||
| TopicId uuid | The unique topic ID. | ||
| Partitions []AlterShareGroupOffsetsResponsePartition | |||
| PartitionIndex int32 | The partition index. | ||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||
| ErrorMessage string | The error message, or null if there was no error. | null | null |
| DeleteShareGroupOffsetsRequestbroker wire format ↗ | Description | v0 | v0 |
|---|---|---|---|
| Kafka | 4.1 Flexible encoding enabled. | 4.2 | |
| GroupId string | The group identifier. | ||
| Topics []DeleteShareGroupOffsetsRequestTopic | The topics to delete offsets for. | ||
| TopicName string | The topic name. |
| DeleteShareGroupOffsetsResponse wire format ↗ | Description | v0 | v0 |
|---|---|---|---|
| Kafka | 4.1 Flexible encoding enabled. | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||
| ErrorCode int16 | The top-level error code, or 0 if there was no error. | ||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null |
| Responses []DeleteShareGroupOffsetsResponseTopic | The results for each topic. | ||
| TopicName string | The topic name. | ||
| TopicId uuid | The unique topic ID. | ||
| ErrorCode int16 | The topic-level error code, or 0 if there was no error. | ||
| ErrorMessage string | The topic-level error message, or null if there was no error. | null | null |
Telemetry
| GetTelemetrySubscriptionsRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|
| Kafka | 3.7 Flexible encoding enabled. | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ClientInstanceId uuid | Unique id for this client instance, must be set to 0 on the first request. |
| GetTelemetrySubscriptionsResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|
| Kafka | 3.7 Flexible encoding enabled. | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||
| ClientInstanceId uuid | Assigned client instance id if ClientInstanceId was 0 in the request, else 0. | ||||||
| SubscriptionId int32 | Unique identifier for the current subscription set for this client instance. | ||||||
| AcceptedCompressionTypes []int8 | Compression types that broker accepts for the PushTelemetryRequest. | ||||||
| PushIntervalMs int32 | Configured push interval, which is the lowest configured interval in the current subscription set. | ||||||
| TelemetryMaxBytes int32 | The maximum bytes of binary data the broker accepts in PushTelemetryRequest. | ||||||
| DeltaTemporality bool | Flag to indicate monotonic/counter metrics are to be emitted as deltas or cumulative values. | ||||||
| RequestedMetrics []string | Requested metrics prefix string match. Empty array: No metrics subscribed, Array[0] empty string: All metrics subscribed. |
| PushTelemetryRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|
| Kafka | 3.7 Flexible encoding enabled. | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ClientInstanceId uuid | Unique id for this client instance. | ||||||
| SubscriptionId int32 | Unique identifier for the current subscription. | ||||||
| Terminating bool | Client is terminating the connection. | ||||||
| CompressionType int8 | Compression codec used to compress the metrics. | ||||||
| Metrics bytes | Metrics encoded in OpenTelemetry MetricsData v1 protobuf format. |
| PushTelemetryResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|
| Kafka | 3.7 Flexible encoding enabled. | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||
| ErrorCode int16 | The error code, or 0 if there was no error. |
Streams
| StreamsGroupHeartbeatRequestbroker wire format ↗ | Description | v0 | v0 |
|---|---|---|---|
| Kafka | 4.1 Flexible encoding enabled. | 4.2 | |
| GroupId string | The group identifier. | ||
| MemberId string | The member ID generated by the streams consumer. The member ID must be kept during the entire lifetime of the streams consumer pro.. | ||
| MemberEpoch int32 | The current member epoch; 0 to join the group; -1 to leave the group; -2 to indicate that the static member will rejoin. | ||
| EndpointInformationEpoch int32 | The current endpoint epoch of this client, represents the latest endpoint epoch this client received | ||
| InstanceId string | null if not provided or if it didn't change since the last heartbeat; the instance ID for static membership otherwise. | null | null |
| RackId string | null if not provided or if it didn't change since the last heartbeat; the rack ID of the member otherwise. | null | null |
| RebalanceTimeoutMs int32 | -1 if it didn't change since the last heartbeat; the maximum time in milliseconds that the coordinator will wait on the member to .. | -1 | -1 |
| Topology Topology | The topology metadata of the streams application. Used to initialize the topology of the group and to check if the topology corres.. | null | null |
| Epoch int32 | The epoch of the topology. Used to check if the topology corresponds to the topology initialized on the brokers. | ||
| Subtopologies []Subtopology | The sub-topologies of the streams application. | ||
| SubtopologyId string | String to uniquely identify the subtopology. Deterministically generated from the topology | ||
| SourceTopics []string | The topics the topology reads from. | ||
| SourceTopicRegex []string | The regular expressions identifying topics the subtopology reads from. | ||
| StateChangelogTopics []TopicInfo | The set of state changelog topics associated with this subtopology. Created automatically. | ||
| Name string | The name of the topic. | ||
| Partitions int32 | The number of partitions in the topic. Can be 0 if no specific number of partitions is enforced. Always 0 for changelog topics. | ||
| ReplicationFactor int16 | The replication factor of the topic. Can be 0 if the default replication factor should be used. | ||
| TopicConfigs []KeyValue | Topic-level configurations as key-value pairs. | ||
| Key string | key of the config | ||
| Value string | value of the config | ||
| RepartitionSinkTopics []string | The repartition topics the subtopology writes to. | ||
| RepartitionSourceTopics []TopicInfo | The set of source topics that are internally created repartition topics. Created automatically. | ||
| Name string | The name of the topic. | ||
| Partitions int32 | The number of partitions in the topic. Can be 0 if no specific number of partitions is enforced. Always 0 for changelog topics. | ||
| ReplicationFactor int16 | The replication factor of the topic. Can be 0 if the default replication factor should be used. | ||
| TopicConfigs []KeyValue | Topic-level configurations as key-value pairs. | ||
| Key string | key of the config | ||
| Value string | value of the config | ||
| CopartitionGroups []CopartitionGroup | A subset of source topics that must be copartitioned. | ||
| SourceTopics []int16 | The topics the topology reads from. Index into the array on the subtopology level. | ||
| SourceTopicRegex []int16 | Regular expressions identifying topics the subtopology reads from. Index into the array on the subtopology level. | ||
| RepartitionSourceTopics []int16 | The set of source topics that are internally created repartition topics. Index into the array on the subtopology level. | ||
| ActiveTasks []TaskIds | Currently owned active tasks for this client. Null if unchanged since last heartbeat. | null | null |
| SubtopologyId string | The subtopology identifier. | ||
| Partitions []int32 | The partitions of the input topics processed by this member. | ||
| StandbyTasks []TaskIds | Currently owned standby tasks for this client. Null if unchanged since last heartbeat. | null | null |
| SubtopologyId string | The subtopology identifier. | ||
| Partitions []int32 | The partitions of the input topics processed by this member. | ||
| WarmupTasks []TaskIds | Currently owned warm-up tasks for this client. Null if unchanged since last heartbeat. | null | null |
| SubtopologyId string | The subtopology identifier. | ||
| Partitions []int32 | The partitions of the input topics processed by this member. | ||
| ProcessId string | Identity of the streams instance that may have multiple consumers. Null if unchanged since last heartbeat. | null | null |
| UserEndpoint Endpoint | User-defined endpoint for Interactive Queries. Null if unchanged since last heartbeat, or if not defined on the client. | null | null |
| Host string | host of the endpoint | ||
| Port uint16 | port of the endpoint | ||
| ClientTags []KeyValue | Used for rack-aware assignment algorithm. Null if unchanged since last heartbeat. | null | null |
| Key string | key of the config | ||
| Value string | value of the config | ||
| TaskOffsets []TaskOffset | Cumulative changelog offsets for tasks. Only updated when a warm-up task has caught up, and according to the task offset interval... | null | null |
| SubtopologyId string | The subtopology identifier. | ||
| Partition int32 | The partition. | ||
| Offset int64 | The offset. | ||
| TaskEndOffsets []TaskOffset | Cumulative changelog end-offsets for tasks. Only updated when a warm-up task has caught up, and according to the task offset inter.. | null | null |
| SubtopologyId string | The subtopology identifier. | ||
| Partition int32 | The partition. | ||
| Offset int64 | The offset. | ||
| ShutdownApplication bool | Whether all Streams clients in the group should shut down. | false | false |
| StreamsGroupHeartbeatResponse wire format ↗ | Description | v0 | v0 |
|---|---|---|---|
| Kafka | 4.1 Flexible encoding enabled. | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||
| ErrorCode int16 | The top-level error code, or 0 if there was no error | ||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null |
| MemberId string | The member id is always generated by the streams consumer. | ||
| MemberEpoch int32 | The member epoch. | ||
| HeartbeatIntervalMs int32 | The heartbeat interval in milliseconds. | ||
| AcceptableRecoveryLag int32 | The maximal lag a warm-up task can have to be considered caught-up. | ||
| TaskOffsetIntervalMs int32 | The interval in which the task changelog offsets on a client are updated on the broker. The offsets are sent with the next heartbe.. | ||
| Status []Status | Indicate zero or more status for the group. | null | null |
| StatusCode int8 | A code to indicate that a particular status is active for the group membership | ||
| StatusDetail string | A string representation of the status. | ||
| ActiveTasks []TaskIds | Assigned active tasks for this client. Null if unchanged since last heartbeat. | null | null |
| SubtopologyId string | The subtopology identifier. | ||
| Partitions []int32 | The partitions of the input topics processed by this member. | ||
| StandbyTasks []TaskIds | Assigned standby tasks for this client. Null if unchanged since last heartbeat. | null | null |
| SubtopologyId string | The subtopology identifier. | ||
| Partitions []int32 | The partitions of the input topics processed by this member. | ||
| WarmupTasks []TaskIds | Assigned warm-up tasks for this client. Null if unchanged since last heartbeat. | null | null |
| SubtopologyId string | The subtopology identifier. | ||
| Partitions []int32 | The partitions of the input topics processed by this member. | ||
| EndpointInformationEpoch int32 | The endpoint epoch set in the response | ||
| PartitionsByUserEndpoint []EndpointToPartitions | Global assignment information used for IQ. Null if unchanged since last heartbeat. | null | null |
| UserEndpoint Endpoint | User-defined endpoint to connect to the node | ||
| Host string | host of the endpoint | ||
| Port uint16 | port of the endpoint | ||
| ActivePartitions []TopicPartition | All topic partitions materialized by active tasks on the node | ||
| Topic string | topic name | ||
| Partitions []int32 | partitions | ||
| StandbyPartitions []TopicPartition | All topic partitions materialized by standby tasks on the node | ||
| Topic string | topic name | ||
| Partitions []int32 | partitions |
| StreamsGroupDescribeRequestbroker wire format ↗ | Description | v0 | v0 |
|---|---|---|---|
| Kafka | 4.1 Flexible encoding enabled. | 4.2 | |
| GroupIds []string | The ids of the groups to describe | ||
| IncludeAuthorizedOperations bool | Whether to include authorized operations. |
| StreamsGroupDescribeResponse wire format ↗ | Description | v0 | v0 |
|---|---|---|---|
| Kafka | 4.1 Flexible encoding enabled. | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||
| Groups []DescribedGroup | Each described group. | ||
| ErrorCode int16 | The describe error, or 0 if there was no error. | ||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null |
| GroupId string | The group ID string. | ||
| GroupState string | The group state string, or the empty string. | ||
| GroupEpoch int32 | The group epoch. | ||
| AssignmentEpoch int32 | The assignment epoch. | ||
| Topology Topology | The topology metadata currently initialized for the streams application. Can be null in case of a describe error. | null | null |
| Epoch int32 | The epoch of the currently initialized topology for this group. | ||
| Subtopologies []Subtopology | The subtopologies of the streams application. This contains the configured subtopologies, where the number of partitions are set a.. | null | null |
| SubtopologyId string | String to uniquely identify the subtopology. | ||
| SourceTopics []string | The topics the subtopology reads from. | ||
| RepartitionSinkTopics []string | The repartition topics the subtopology writes to. | ||
| StateChangelogTopics []TopicInfo | The set of state changelog topics associated with this subtopology. Created automatically. | ||
| Name string | The name of the topic. | ||
| Partitions int32 | The number of partitions in the topic. Can be 0 if no specific number of partitions is enforced. Always 0 for changelog topics. | ||
| ReplicationFactor int16 | The replication factor of the topic. Can be 0 if the default replication factor should be used. | ||
| TopicConfigs []KeyValue | Topic-level configurations as key-value pairs. | ||
| Key string | key of the config | ||
| Value string | value of the config | ||
| RepartitionSourceTopics []TopicInfo | The set of source topics that are internally created repartition topics. Created automatically. | ||
| Name string | The name of the topic. | ||
| Partitions int32 | The number of partitions in the topic. Can be 0 if no specific number of partitions is enforced. Always 0 for changelog topics. | ||
| ReplicationFactor int16 | The replication factor of the topic. Can be 0 if the default replication factor should be used. | ||
| TopicConfigs []KeyValue | Topic-level configurations as key-value pairs. | ||
| Key string | key of the config | ||
| Value string | value of the config | ||
| Members []Member | The members. | ||
| MemberId string | The member ID. | ||
| MemberEpoch int32 | The member epoch. | ||
| InstanceId string | The member instance ID for static membership. | null | null |
| RackId string | The rack ID. | null | null |
| ClientId string | The client ID. | ||
| ClientHost string | The client host. | ||
| TopologyEpoch int32 | The epoch of the topology on the client. | ||
| ProcessId string | Identity of the streams instance that may have multiple clients. | ||
| UserEndpoint Endpoint | User-defined endpoint for Interactive Queries. Null if not defined for this client. | null | null |
| Host string | host of the endpoint | ||
| Port uint16 | port of the endpoint | ||
| ClientTags []KeyValue | Used for rack-aware assignment algorithm. | ||
| Key string | key of the config | ||
| Value string | value of the config | ||
| TaskOffsets []TaskOffset | Cumulative changelog offsets for tasks. | ||
| SubtopologyId string | The subtopology identifier. | ||
| Partition int32 | The partition. | ||
| Offset int64 | The offset. | ||
| TaskEndOffsets []TaskOffset | Cumulative changelog end offsets for tasks. | ||
| SubtopologyId string | The subtopology identifier. | ||
| Partition int32 | The partition. | ||
| Offset int64 | The offset. | ||
| Assignment Assignment | The current assignment. | ||
| ActiveTasks []TaskIds | Active tasks for this client. | ||
| SubtopologyId string | The subtopology identifier. | ||
| Partitions []int32 | The partitions of the input topics processed by this member. | ||
| StandbyTasks []TaskIds | Standby tasks for this client. | ||
| SubtopologyId string | The subtopology identifier. | ||
| Partitions []int32 | The partitions of the input topics processed by this member. | ||
| WarmupTasks []TaskIds | Warm-up tasks for this client. | ||
| SubtopologyId string | The subtopology identifier. | ||
| Partitions []int32 | The partitions of the input topics processed by this member. | ||
| TargetAssignment Assignment | The target assignment. | ||
| ActiveTasks []TaskIds | Active tasks for this client. | ||
| SubtopologyId string | The subtopology identifier. | ||
| Partitions []int32 | The partitions of the input topics processed by this member. | ||
| StandbyTasks []TaskIds | Standby tasks for this client. | ||
| SubtopologyId string | The subtopology identifier. | ||
| Partitions []int32 | The partitions of the input topics processed by this member. | ||
| WarmupTasks []TaskIds | Warm-up tasks for this client. | ||
| SubtopologyId string | The subtopology identifier. | ||
| Partitions []int32 | The partitions of the input topics processed by this member. | ||
| IsClassic bool | True for classic members that have not been upgraded yet. | ||
| AuthorizedOperations int32 | 32-bit bitfield to represent authorized operations for this group. | -2147483648 | -2147483648 |
Controller
| OffsetForLeaderEpochRequestbroker wire format ↗ | Description | v2 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 adds the current leader epoch to support fencing. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 adds ReplicaId (the default is -2 which conventionally represents a "debug" consumer which is allowed to see offsets beyond the high watermark). Followers will use this replicaId when using an older version of the protocol. | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ReplicaId int32 | The broker ID of the follower, of -1 if this request is from a consumer. | -2 | -2 | -2 | -2 | -2 | -2 | -2 | -2 | -2 | -2 | -2 | -2 | -2 | -2 | -2 | -2 | -2 | -2 | -2 | |
| Topics []OffsetForLeaderTopic | Each topic to get offsets for. | ||||||||||||||||||||
| Topic string | The topic name. | ||||||||||||||||||||
| Partitions []OffsetForLeaderPartition | Each partition to get offsets for. | ||||||||||||||||||||
| Partition int32 | The partition index. | ||||||||||||||||||||
| CurrentLeaderEpoch int32 | An epoch used to fence consumers/replicas with old metadata. If the epoch provided by the client is larger than the current epoch .. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| LeaderEpoch int32 | The epoch to look up an offset for. |
| OffsetForLeaderEpochResponse wire format ↗ | Description | v2 | v3 | v3 | v3 | v3 | v3 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 | v4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 added the throttle time. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 is the same as version 2. | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 enables flexible versions. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||||||||
| Topics []OffsetForLeaderTopicResult | Each topic we fetched offsets for. | ||||||||||||||||||||
| Topic string | The topic name. | ||||||||||||||||||||
| Partitions []EpochEndOffset | Each partition in the topic we fetched offsets for. | ||||||||||||||||||||
| ErrorCode int16 | The error code 0, or if there was no error. | ||||||||||||||||||||
| Partition int32 | The partition index. | ||||||||||||||||||||
| LeaderEpoch int32 | The leader epoch of the partition. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| EndOffset int64 | The end offset of the epoch. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| UpdateFeaturesRequestbrokercontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 Flexible encoding enabled. | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 adds validate only field. | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 changes the response to not return feature level results. | 4.1 | 4.2 | |
| timeoutMs int32 | How long to wait in milliseconds before timing out the request. | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 | 60000 |
| FeatureUpdates []FeatureUpdateKey | The list of updates to finalized features. | |||||||||||||||
| Feature string | The name of the finalized feature to be updated. | |||||||||||||||
| MaxVersionLevel int16 | The new maximum version level for the finalized feature. A value >= 1 is valid. A value < 1, is special, and can be used to reques.. | |||||||||||||||
| AllowDowngrade bool | DEPRECATED in version 1 (see DowngradeType). When set to true, the finalized feature version level is allowed to be downgraded/del.. | |||||||||||||||
| UpgradeType int8 | Determine which type of upgrade will be performed: 1 will perform an upgrade only (default), 2 is safe downgrades only (lossless),.. | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||
| ValidateOnly bool | True if we should validate the request, but not perform the upgrade or downgrade. | false | false | false | false | false | false | false | false | false | false |
| UpdateFeaturesResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.7 Flexible encoding enabled. | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||||
| ErrorCode int16 | The top-level error code, or `0` if there was no top-level error. | |||||||||||||||
| ErrorMessage string | The top-level error message, or `null` if there was no top-level error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| Results []UpdatableFeatureResult | Results for each feature update. | |||||||||||||||
| Feature string | The name of the finalized feature. | |||||||||||||||
| ErrorCode int16 | The feature update error code or `0` if the feature update succeeded. | |||||||||||||||
| ErrorMessage string | The feature update error, or `null` if the feature update succeeded. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| DescribeClusterRequestbrokercontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 adds EndpointType for KIP-919 support. | 3.8 | 3.9 | 4.0 adds IncludeFencedBrokers for KIP-1073 support. | 4.1 | 4.2 | |
| IncludeClusterAuthorizedOperations bool | Whether to include cluster authorized operations. | ||||||||||||||
| EndpointType int8 | The endpoint type to describe. 1=brokers, 2=controllers. | 1 | 1 | 1 | 1 | 1 | 1 | ||||||||
| IncludeFencedBrokers bool | Whether to include fenced brokers when listing brokers. |
| DescribeClusterResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 adds the EndpointType field, and makes MISMATCHED_ENDPOINT_TYPE and UNSUPPORTED_ENDPOINT_TYPE valid top-level response error codes. | 3.8 | 3.9 | 4.0 adds IsFenced field to Brokers for KIP-1073 support. | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||
| ErrorCode int16 | The top-level error code, or 0 if there was no error. | ||||||||||||||
| ErrorMessage string | The top-level error message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| EndpointType int8 | The endpoint type that was described. 1=brokers, 2=controllers. | 1 | 1 | 1 | 1 | 1 | 1 | ||||||||
| ClusterId string | The cluster ID that responding broker belongs to. | ||||||||||||||
| ControllerId int32 | The ID of the controller. When handled by a controller, returns the current voter leader ID. When handled by a broker, returns a r.. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| Brokers []DescribeClusterBroker | Each broker in the response. | ||||||||||||||
| BrokerId int32 | The broker ID. | ||||||||||||||
| Host string | The broker hostname. | ||||||||||||||
| Port int32 | The broker port. | ||||||||||||||
| Rack string | The rack of the broker, or null if it has not been assigned to a rack. | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| IsFenced bool | Whether the broker is fenced | ||||||||||||||
| ClusterAuthorizedOperations int32 | 32-bit bitfield to represent authorized operations for this cluster. | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 |
| DescribeProducersRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Topics []TopicRequest | The topics to list producers for. | ||||||||||||||
| Name string | The topic name. | ||||||||||||||
| PartitionIndexes []int32 | The indexes of the partitions to list producers for. |
| DescribeProducersResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | ||||||||||||||
| Topics []TopicResponse | Each topic in the response. | ||||||||||||||
| Name string | The topic name. | ||||||||||||||
| Partitions []PartitionResponse | Each partition in the response. | ||||||||||||||
| PartitionIndex int32 | The partition index. | ||||||||||||||
| ErrorCode int16 | The partition error code, or 0 if there was no error. | ||||||||||||||
| ErrorMessage string | The partition error message, which may be null if no additional details are available. | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| ActiveProducers []ProducerState | The active producers for the partition. | ||||||||||||||
| ProducerId int64 | The producer id. | ||||||||||||||
| ProducerEpoch int32 | The producer epoch. | ||||||||||||||
| LastSequence int32 | The last sequence number sent by the producer. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| LastTimestamp int64 | The last timestamp sent by the producer. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| CoordinatorEpoch int32 | The current epoch of the producer group. | ||||||||||||||
| CurrentTxnStartOffset int64 | The current transaction start offset of the producer. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| UnregisterBrokerRequestbrokercontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| BrokerId int32 | The broker ID to unregister. |
| UnregisterBrokerResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 2.8 Flexible encoding enabled. | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any .. | ||||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | ||||||||||||||
| ErrorMessage string | The top-level error message, or `null` if there was no top-level error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| DescribeTransactionsRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 3.0 Flexible encoding enabled. | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| TransactionalIds []string | Array of transactionalIds to include in describe results. If empty, then no results will be returned. |
| DescribeTransactionsResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 3.0 Flexible encoding enabled. | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||
| TransactionStates []TransactionState | The current state of the transaction. | |||||||||||||
| ErrorCode int16 | The error code. | |||||||||||||
| TransactionalId string | The transactional id. | |||||||||||||
| TransactionState string | The current transaction state of the producer. | |||||||||||||
| TransactionTimeoutMs int32 | The timeout in milliseconds for the transaction. | |||||||||||||
| TransactionStartTimeMs int64 | The start time of the transaction in milliseconds. | |||||||||||||
| ProducerId int64 | The current producer id associated with the transaction. | |||||||||||||
| ProducerEpoch int16 | The current epoch associated with the producer id. | |||||||||||||
| Topics []TopicData | The set of partitions included in the current transaction (if active). When a transaction is preparing to commit or abort, this wi.. | |||||||||||||
| Topic string | The topic name. | |||||||||||||
| Partitions []int32 | The partition ids included in the current transaction. |
| ListTransactionsRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 3.0 Flexible encoding enabled. | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 adds DurationFilter to list transactions older than specified duration | 3.9 | 4.0 | 4.1 adds TransactionalIdPattern to list transactions with the same pattern(KIP-1152) | 4.2 | |
| StateFilters []string | The transaction states to filter by: if empty, all transactions are returned; if non-empty, then only transactions matching one of.. | |||||||||||||
| ProducerIdFilters []int64 | The producerIds to filter by: if empty, all transactions will be returned; if non-empty, only transactions which match one of the .. | |||||||||||||
| DurationFilter int64 | Duration (in millis) to filter by: if < 0, all transactions will be returned; otherwise, only transactions running longer than thi.. | -1 | -1 | -1 | -1 | -1 | ||||||||
| TransactionalIdPattern string | The transactional ID regular expression pattern to filter by: if it is empty or null, all transactions are returned; Otherwise the.. | null | null |
| ListTransactionsResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v1 | v1 | v1 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 3.0 Flexible encoding enabled. | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 is the same as version 0 (KIP-994). | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||
| ErrorCode int16 | The error code, or 0 if there was no error. | |||||||||||||
| UnknownStateFilters []string | Set of state filters provided in the request which were unknown to the transaction coordinator. | |||||||||||||
| TransactionStates []TransactionState | The current state of the transaction for the transactional id. | |||||||||||||
| TransactionalId string | The transactional id. | |||||||||||||
| ProducerId int64 | The producer id. | |||||||||||||
| TransactionState string | The current transaction state of the producer. |
| AllocateProducerIdsRequestcontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 3.0 Flexible encoding enabled. | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| BrokerId int32 | The ID of the requesting broker. | |||||||||||||
| BrokerEpoch int64 | The epoch of the requesting broker. | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| AllocateProducerIdsResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | 3.0 Flexible encoding enabled. | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||||||||||
| ErrorCode int16 | The top level response error code. | |||||||||||||
| ProducerIdStart int64 | The first producer ID in this range, inclusive. | |||||||||||||
| ProducerIdLen int32 | The number of producer IDs in this range. |
| ControllerRegistrationRequestcontroller wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|
| Kafka | 3.7 Flexible encoding enabled. | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ControllerId int32 | The ID of the controller to register. | ||||||
| IncarnationId uuid | The controller incarnation ID, which is unique to each process run. | ||||||
| ZkMigrationReady bool | Set if the required configurations for ZK migration are present. | ||||||
| Listeners []Listener | The listeners of this controller. | ||||||
| Name string | The name of the endpoint. | ||||||
| Host string | The hostname. | ||||||
| Port uint16 | The port. | ||||||
| SecurityProtocol int16 | The security protocol. | ||||||
| Features []Feature | The features on this controller. | ||||||
| Name string | The feature name. | ||||||
| MinSupportedVersion int16 | The minimum supported feature level. | ||||||
| MaxSupportedVersion int16 | The maximum supported feature level. |
| ControllerRegistrationResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|---|
| Kafka | 3.7 Flexible encoding enabled. | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any .. | ||||||
| ErrorCode int16 | The response error code. | ||||||
| ErrorMessage string | The response error message, or null if there was no error. | null | null | null | null | null | null |
| ListConfigResourcesRequestbroker wire format ↗ | Description | v0 | v1 | v1 |
|---|---|---|---|---|
| Kafka | 4.1 is used as ListClientMetricsResourcesRequest which only lists client metrics resources. Flexible encoding enabled. | 4.1 adds ResourceTypes field (KIP-1142). If there is no specified ResourceTypes, it should return all configuration resources. | 4.2 | |
| ResourceTypes []int8 | The list of resource type. If the list is empty, it uses default supported config resource types. |
| ListConfigResourcesResponse wire format ↗ | Description | v0 | v1 | v1 |
|---|---|---|---|---|
| Kafka | 4.1 is used as ListClientMetricsResourcesResponse which returns all client metrics resources. Flexible encoding enabled. | 4.1 adds ResourceType to ConfigResources (KIP-1142). | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||
| ErrorCode int16 | The error code, or 0 if there was no error. | |||
| ConfigResources []ConfigResource | Each config resource in the response. | |||
| ResourceName string | The resource name. | |||
| ResourceType int8 | The resource type. | 16 | 16 |
| DescribeTopicPartitionsRequestbroker wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|
| Kafka | 3.8 Flexible encoding enabled. | 3.9 | 4.0 | 4.1 | 4.2 | |
| Topics []TopicRequest | The topics to fetch details for. | |||||
| Name string | The topic name. | |||||
| ResponsePartitionLimit int32 | The maximum number of partitions included in the response. | 2000 | 2000 | 2000 | 2000 | 2000 |
| Cursor Cursor | The first topic and partition index to fetch details for. | null | null | null | null | null |
| TopicName string | The name for the first topic to process. | |||||
| PartitionIndex int32 | The partition index to start with. |
| DescribeTopicPartitionsResponse wire format ↗ | Description | v0 | v0 | v0 | v0 | v0 |
|---|---|---|---|---|---|---|
| Kafka | 3.8 Flexible encoding enabled. | 3.9 | 4.0 | 4.1 | 4.2 | |
| ThrottleTimeMs int32 | The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate .. | |||||
| Topics []DescribeTopicPartitionsResponseTopic | Each topic in the response. | |||||
| ErrorCode int16 | The topic error, or 0 if there was no error. | |||||
| Name string | The topic name. | null | null | null | null | null |
| TopicId uuid | The topic id. | |||||
| IsInternal bool | True if the topic is internal. | false | false | false | false | false |
| Partitions []DescribeTopicPartitionsResponsePartition | Each partition in the topic. | |||||
| ErrorCode int16 | The partition error, or 0 if there was no error. | |||||
| PartitionIndex int32 | The partition index. | |||||
| LeaderId int32 | The ID of the leader broker. | |||||
| LeaderEpoch int32 | The leader epoch of this partition. | -1 | -1 | -1 | -1 | -1 |
| ReplicaNodes []int32 | The set of all nodes that host this partition. | |||||
| IsrNodes []int32 | The set of nodes that are in sync with the leader for this partition. | |||||
| EligibleLeaderReplicas []int32 | The new eligible leader replicas otherwise. | null | null | null | null | null |
| LastKnownElr []int32 | The last known ELR. | null | null | null | null | null |
| OfflineReplicas []int32 | The set of offline replicas of this partition. | |||||
| TopicAuthorizedOperations int32 | 32-bit bitfield to represent authorized operations for this topic. | -2147483648 | -2147483648 | -2147483648 | -2147483648 | -2147483648 |
| NextCursor Cursor | The next topic and partition index to fetch details for. | null | null | null | null | null |
| TopicName string | The name for the first topic to process. | |||||
| PartitionIndex int32 | The partition index to start with. |
SASL
| SaslHandshakeRequestbrokercontroller wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 supports SASL_AUTHENTICATE. NOTE: Version cannot be easily bumped due to incorrect client negotiation for clients <= 2.4. See https://issues.apache.org/jira/browse/KAFKA-9577 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| Mechanism string | The SASL mechanism chosen by the client. |
| SaslHandshakeResponse wire format ↗ | Description | v0 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 | v1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 0. NOTE: Version cannot be easily bumped due to incorrect client negotiation for clients <= 2.4. See https://issues.apache.org/jira/browse/KAFKA-9577 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ErrorCode int16 | The error code, or 0 if there was no error. | |||||||||||||||||||||
| Mechanisms []string | The mechanisms enabled in the server. |
| SaslAuthenticateRequestbrokercontroller wire format ↗ | Description | v0 | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 is the same as version 0. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 adds flexible version support | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| AuthBytes bytes | The SASL authentication bytes from the client, as defined by the SASL mechanism. |
| SaslAuthenticateResponse wire format ↗ | Description | v0 | v1 | v1 | v1 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 | v2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kafka | ≤2.2 Exact Kafka version unknown — JSON protocol schemas start at 2.2. | ≤2.2 adds the session lifetime. Exact Kafka version unknown — JSON protocol schemas start at 2.2. | 2.3 | 2.4 | 2.5 adds flexible version support | 2.6 | 2.7 | 2.8 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 4.0 | 4.1 | 4.2 | |
| ErrorCode int16 | The error code, or 0 if there was no error. | |||||||||||||||||||||
| ErrorMessage string | The error message, or null if there was no error. | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| AuthBytes bytes | The SASL authentication bytes from the server, as defined by the SASL mechanism. | |||||||||||||||||||||
| SessionLifetimeMs int64 | Number of milliseconds after which only re-authentication over the existing connection to create a new session can occur. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |