kafka-clients 1.0 内部请求接口文档

AddOffsetsToTxnRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>transactional_id</td><td>STRING</td><td>null</td><td>The transactional id corresponding to the transaction.</td></tr> <tr><td>producer_id</td><td>INT64</td><td>null</td><td>Current producer id in use by the transactional id.</td></tr> <tr><td>producer_epoch</td><td>INT16</td><td>null</td><td>Current epoch associated with the producer id.</td></tr> <tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> </table> node

AddPartitionsToTxnRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>transactional_id</td><td>STRING</td><td>null</td><td>The transactional id corresponding to the transaction.</td></tr> <tr><td>producer_id</td><td>INT64</td><td>null</td><td>Current producer id in use by the transactional id.</td></tr> <tr><td>producer_epoch</td><td>INT16</td><td>null</td><td>Current epoch associated with the producer id.</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY(INT32)})</td><td>null</td><td>The partitions to add to the transaction.</td></tr> </table> session

AlterConfigsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>resources</td><td>ARRAY({resource_type:INT8,resource_name:STRING,config_entries:ARRAY({config_name:STRING,config_value:NULLABLE_STRING})})</td><td>null</td><td>An array of resources to update with the provided configs.</td></tr> <tr><td>validate_only</td><td>BOOLEAN</td><td>null</td><td>null</td></tr> </table> ide

AlterReplicaLogDirsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>log_dirs</td><td>ARRAY({log_dir:STRING,topics:ARRAY({topic:STRING,partitions:ARRAY(INT32)})})</td><td>null</td><td>null</td></tr> </table> fetch

ApiVersionsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr></table> ui

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr></table> this

ControlledShutdownRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>broker_id</td><td>INT32</td><td>null</td><td>The id of the broker for which controlled shutdown has been requested.</td></tr> </table> spa

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>broker_id</td><td>INT32</td><td>null</td><td>The id of the broker for which controlled shutdown has been requested.</td></tr> </table> orm

CreateAclsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>creations</td><td>ARRAY({resource_type:INT8,resource_name:STRING,principal:STRING,host:STRING,operation:INT8,permission_type:INT8})</td><td>null</td><td>null</td></tr> </table> ip

CreatePartitionsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>topic_partitions</td><td>ARRAY({topic:STRING,new_partitions:{count:INT32,assignment:ARRAY(ARRAY(INT32))}})</td><td>null</td><td>List of topic and the corresponding new partitions.</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The time in ms to wait for the partitions to be created.</td></tr> <tr><td>validate_only</td><td>BOOLEAN</td><td>null</td><td>If true then validate the request, but don't actually increase the number of partitions.</td></tr> </table> ci

CreateTopicsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>create_topic_requests</td><td>ARRAY({topic:STRING,num_partitions:INT32,replication_factor:INT16,replica_assignment:ARRAY({partition:INT32,replicas:ARRAY(INT32)}),config_entries:ARRAY({config_name:STRING,config_value:NULLABLE_STRING})})</td><td>null</td><td>An array of single topic creation requests. Can not have multiple entries for the same topic.</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The time in ms to wait for a topic to be completely created on the controller node. Values <= 0 will trigger topic creation and return immediately</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>create_topic_requests</td><td>ARRAY({topic:STRING,num_partitions:INT32,replication_factor:INT16,replica_assignment:ARRAY({partition:INT32,replicas:ARRAY(INT32)}),config_entries:ARRAY({config_name:STRING,config_value:NULLABLE_STRING})})</td><td>null</td><td>An array of single topic creation requests. Can not have multiple entries for the same topic.</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The time in ms to wait for a topic to be completely created on the controller node. Values <= 0 will trigger topic creation and return immediately</td></tr> <tr><td>validate_only</td><td>BOOLEAN</td><td>null</td><td>If this is true, the request will be validated, but the topic won't be created.</td></tr> </table>

version:2

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>create_topic_requests</td><td>ARRAY({topic:STRING,num_partitions:INT32,replication_factor:INT16,replica_assignment:ARRAY({partition:INT32,replicas:ARRAY(INT32)}),config_entries:ARRAY({config_name:STRING,config_value:NULLABLE_STRING})})</td><td>null</td><td>An array of single topic creation requests. Can not have multiple entries for the same topic.</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The time in ms to wait for a topic to be completely created on the controller node. Values <= 0 will trigger topic creation and return immediately</td></tr> <tr><td>validate_only</td><td>BOOLEAN</td><td>null</td><td>If this is true, the request will be validated, but the topic won't be created.</td></tr> </table>

DeleteAclsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>filters</td><td>ARRAY({resource_type:INT8,resource_name:NULLABLE_STRING,principal:NULLABLE_STRING,host:NULLABLE_STRING,operation:INT8,permission_type:INT8})</td><td>null</td><td>null</td></tr> </table>

DeleteRecordsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,offset:INT64})})</td><td>null</td><td>null</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The maximum time to await a response in ms.</td></tr> </table>

DeleteTopicsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>topics</td><td>ARRAY(STRING)</td><td>null</td><td>An array of topics to be deleted.</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The time in ms to wait for a topic to be completely deleted on the controller node. Values <= 0 will trigger topic deletion and return immediately</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>topics</td><td>ARRAY(STRING)</td><td>null</td><td>An array of topics to be deleted.</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The time in ms to wait for a topic to be completely deleted on the controller node. Values <= 0 will trigger topic deletion and return immediately</td></tr> </table>

DescribeAclsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>resource_type</td><td>INT8</td><td>null</td><td>The resource type</td></tr> <tr><td>resource_name</td><td>NULLABLE_STRING</td><td>null</td><td>The resource name filter</td></tr> <tr><td>principal</td><td>NULLABLE_STRING</td><td>null</td><td>The ACL principal filter</td></tr> <tr><td>host</td><td>NULLABLE_STRING</td><td>null</td><td>The ACL host filter</td></tr> <tr><td>operation</td><td>INT8</td><td>null</td><td>The ACL operation</td></tr> <tr><td>permission_type</td><td>INT8</td><td>null</td><td>The ACL permission type</td></tr> </table>

DescribeConfigsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>resources</td><td>ARRAY({resource_type:INT8,resource_name:STRING,config_names:ARRAY(STRING)})</td><td>null</td><td>An array of config resources to be returned.</td></tr> </table>

DescribeGroupsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_ids</td><td>ARRAY(STRING)</td><td>null</td><td>List of groupIds to request metadata for (an empty groupId array will return empty group metadata).</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_ids</td><td>ARRAY(STRING)</td><td>null</td><td>List of groupIds to request metadata for (an empty groupId array will return empty group metadata).</td></tr> </table>

DescribeLogDirsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY(INT32)})</td><td>null</td><td>null</td></tr> </table>

EndTxnRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>transactional_id</td><td>STRING</td><td>null</td><td>The transactional id corresponding to the transaction.</td></tr> <tr><td>producer_id</td><td>INT64</td><td>null</td><td>Current producer id in use by the transactional id.</td></tr> <tr><td>producer_epoch</td><td>INT16</td><td>null</td><td>Current epoch associated with the producer id.</td></tr> <tr><td>transaction_result</td><td>BOOLEAN</td><td>null</td><td>The result of the transaction (0 = ABORT, 1 = COMMIT)</td></tr> </table>

FetchRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>replica_id</td><td>INT32</td><td>null</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr> <tr><td>max_wait_time</td><td>INT32</td><td>null</td><td>Maximum time in ms to wait for the response.</td></tr> <tr><td>min_bytes</td><td>INT32</td><td>null</td><td>Minimum bytes to accumulate in the response.</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,fetch_offset:INT64,max_bytes:INT32})})</td><td>null</td><td>Topics to fetch.</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>replica_id</td><td>INT32</td><td>null</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr> <tr><td>max_wait_time</td><td>INT32</td><td>null</td><td>Maximum time in ms to wait for the response.</td></tr> <tr><td>min_bytes</td><td>INT32</td><td>null</td><td>Minimum bytes to accumulate in the response.</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,fetch_offset:INT64,max_bytes:INT32})})</td><td>null</td><td>Topics to fetch.</td></tr> </table>

version:2

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>replica_id</td><td>INT32</td><td>null</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr> <tr><td>max_wait_time</td><td>INT32</td><td>null</td><td>Maximum time in ms to wait for the response.</td></tr> <tr><td>min_bytes</td><td>INT32</td><td>null</td><td>Minimum bytes to accumulate in the response.</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,fetch_offset:INT64,max_bytes:INT32})})</td><td>null</td><td>Topics to fetch.</td></tr> </table>

version:3

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>replica_id</td><td>INT32</td><td>null</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr> <tr><td>max_wait_time</td><td>INT32</td><td>null</td><td>Maximum time in ms to wait for the response.</td></tr> <tr><td>min_bytes</td><td>INT32</td><td>null</td><td>Minimum bytes to accumulate in the response.</td></tr> <tr><td>max_bytes</td><td>INT32</td><td>null</td><td>Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made.</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,fetch_offset:INT64,max_bytes:INT32})})</td><td>null</td><td>Topics to fetch in the order provided.</td></tr> </table>

version:4

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>replica_id</td><td>INT32</td><td>null</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr> <tr><td>max_wait_time</td><td>INT32</td><td>null</td><td>Maximum time in ms to wait for the response.</td></tr> <tr><td>min_bytes</td><td>INT32</td><td>null</td><td>Minimum bytes to accumulate in the response.</td></tr> <tr><td>max_bytes</td><td>INT32</td><td>null</td><td>Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made.</td></tr> <tr><td>isolation_level</td><td>INT8</td><td>null</td><td>This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,fetch_offset:INT64,max_bytes:INT32})})</td><td>null</td><td>Topics to fetch in the order provided.</td></tr> </table>

version:5

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>replica_id</td><td>INT32</td><td>null</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr> <tr><td>max_wait_time</td><td>INT32</td><td>null</td><td>Maximum time in ms to wait for the response.</td></tr> <tr><td>min_bytes</td><td>INT32</td><td>null</td><td>Minimum bytes to accumulate in the response.</td></tr> <tr><td>max_bytes</td><td>INT32</td><td>null</td><td>Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made.</td></tr> <tr><td>isolation_level</td><td>INT8</td><td>null</td><td>This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,fetch_offset:INT64,log_start_offset:INT64,max_bytes:INT32})})</td><td>null</td><td>Topics to fetch in the order provided.</td></tr> </table>

version:6

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>replica_id</td><td>INT32</td><td>null</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr> <tr><td>max_wait_time</td><td>INT32</td><td>null</td><td>Maximum time in ms to wait for the response.</td></tr> <tr><td>min_bytes</td><td>INT32</td><td>null</td><td>Minimum bytes to accumulate in the response.</td></tr> <tr><td>max_bytes</td><td>INT32</td><td>null</td><td>Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made.</td></tr> <tr><td>isolation_level</td><td>INT8</td><td>null</td><td>This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,fetch_offset:INT64,log_start_offset:INT64,max_bytes:INT32})})</td><td>null</td><td>Topics to fetch in the order provided.</td></tr> </table>

FindCoordinatorRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>coordinator_key</td><td>STRING</td><td>null</td><td>Id to use for finding the coordinator (for groups, this is the groupId, for transactional producers, this is the transactional id)</td></tr> <tr><td>coordinator_type</td><td>INT8</td><td>null</td><td>The type of coordinator to find (0 = group, 1 = transaction)</td></tr> </table>

HeartbeatRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>generation_id</td><td>INT32</td><td>null</td><td>The generation of the group.</td></tr> <tr><td>member_id</td><td>STRING</td><td>null</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>generation_id</td><td>INT32</td><td>null</td><td>The generation of the group.</td></tr> <tr><td>member_id</td><td>STRING</td><td>null</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr> </table>

InitProducerIdRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>transactional_id</td><td>NULLABLE_STRING</td><td>null</td><td>The transactional id or null if the producer is not transactional</td></tr> <tr><td>transaction_timeout_ms</td><td>INT32</td><td>null</td><td>The time in ms to wait for before aborting idle transactions sent by this producer.</td></tr> </table>

JoinGroupRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>session_timeout</td><td>INT32</td><td>null</td><td>The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.</td></tr> <tr><td>member_id</td><td>STRING</td><td>null</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr> <tr><td>protocol_type</td><td>STRING</td><td>null</td><td>Unique name for class of protocols implemented by group</td></tr> <tr><td>group_protocols</td><td>ARRAY({protocol_name:STRING,protocol_metadata:BYTES})</td><td>null</td><td>List of protocols that the member supports</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>session_timeout</td><td>INT32</td><td>null</td><td>The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.</td></tr> <tr><td>rebalance_timeout</td><td>INT32</td><td>null</td><td>The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group</td></tr> <tr><td>member_id</td><td>STRING</td><td>null</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr> <tr><td>protocol_type</td><td>STRING</td><td>null</td><td>Unique name for class of protocols implemented by group</td></tr> <tr><td>group_protocols</td><td>ARRAY({protocol_name:STRING,protocol_metadata:BYTES})</td><td>null</td><td>List of protocols that the member supports</td></tr> </table>

version:2

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>session_timeout</td><td>INT32</td><td>null</td><td>The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.</td></tr> <tr><td>rebalance_timeout</td><td>INT32</td><td>null</td><td>The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group</td></tr> <tr><td>member_id</td><td>STRING</td><td>null</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr> <tr><td>protocol_type</td><td>STRING</td><td>null</td><td>Unique name for class of protocols implemented by group</td></tr> <tr><td>group_protocols</td><td>ARRAY({protocol_name:STRING,protocol_metadata:BYTES})</td><td>null</td><td>List of protocols that the member supports</td></tr> </table>

LeaderAndIsrRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>controller_id</td><td>INT32</td><td>null</td><td>The controller id.</td></tr> <tr><td>controller_epoch</td><td>INT32</td><td>null</td><td>The controller epoch.</td></tr> <tr><td>partition_states</td><td>ARRAY({topic:STRING,partition:INT32,controller_epoch:INT32,leader:INT32,leader_epoch:INT32,isr:ARRAY(INT32),zk_version:INT32,replicas:ARRAY(INT32)})</td><td>null</td><td>null</td></tr> <tr><td>live_leaders</td><td>ARRAY({id:INT32,host:STRING,port:INT32})</td><td>null</td><td>null</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>controller_id</td><td>INT32</td><td>null</td><td>The controller id.</td></tr> <tr><td>controller_epoch</td><td>INT32</td><td>null</td><td>The controller epoch.</td></tr> <tr><td>partition_states</td><td>ARRAY({topic:STRING,partition:INT32,controller_epoch:INT32,leader:INT32,leader_epoch:INT32,isr:ARRAY(INT32),zk_version:INT32,replicas:ARRAY(INT32),is_new:BOOLEAN})</td><td>null</td><td>null</td></tr> <tr><td>live_leaders</td><td>ARRAY({id:INT32,host:STRING,port:INT32})</td><td>null</td><td>null</td></tr> </table>

LeaveGroupRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>member_id</td><td>STRING</td><td>null</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>member_id</td><td>STRING</td><td>null</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr> </table>

ListGroupsRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr></table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr></table>

ListOffsetRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>replica_id</td><td>INT32</td><td>null</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,timestamp:INT64,max_num_offsets:INT32})})</td><td>null</td><td>Topics to list offsets.</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>replica_id</td><td>INT32</td><td>null</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,timestamp:INT64})})</td><td>null</td><td>Topics to list offsets.</td></tr> </table>

version:2

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>replica_id</td><td>INT32</td><td>null</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr> <tr><td>isolation_level</td><td>INT8</td><td>null</td><td>This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,timestamp:INT64})})</td><td>null</td><td>Topics to list offsets.</td></tr> </table>

MetadataRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>topics</td><td>ARRAY(STRING)</td><td>null</td><td>An array of topics to fetch metadata for. If no topics are specified fetch metadata for all topics.</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>topics</td><td>ARRAY(STRING)</td><td>null</td><td>An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.</td></tr> </table>

version:2

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>topics</td><td>ARRAY(STRING)</td><td>null</td><td>An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.</td></tr> </table>

version:3

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>topics</td><td>ARRAY(STRING)</td><td>null</td><td>An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.</td></tr> </table>

version:4

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>topics</td><td>ARRAY(STRING)</td><td>null</td><td>An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.</td></tr> <tr><td>allow_auto_topic_creation</td><td>BOOLEAN</td><td>null</td><td>If this and the broker config 'auto.create.topics.enable' are true, topics that don't exist will be created by the broker. Otherwise, no topics will be created by the broker.</td></tr> </table>

version:5

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>topics</td><td>ARRAY(STRING)</td><td>null</td><td>An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.</td></tr> <tr><td>allow_auto_topic_creation</td><td>BOOLEAN</td><td>null</td><td>If this and the broker config 'auto.create.topics.enable' are true, topics that don't exist will be created by the broker. Otherwise, no topics will be created by the broker.</td></tr> </table>

OffsetCommitRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,offset:INT64,metadata:NULLABLE_STRING})})</td><td>null</td><td>Topics to commit offsets.</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>generation_id</td><td>INT32</td><td>null</td><td>The generation of the group.</td></tr> <tr><td>member_id</td><td>STRING</td><td>null</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,offset:INT64,timestamp:INT64,metadata:NULLABLE_STRING})})</td><td>null</td><td>Topics to commit offsets.</td></tr> </table>

version:2

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>generation_id</td><td>INT32</td><td>null</td><td>The generation of the group.</td></tr> <tr><td>member_id</td><td>STRING</td><td>null</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr> <tr><td>retention_time</td><td>INT64</td><td>null</td><td>Time period in ms to retain the offset.</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,offset:INT64,metadata:NULLABLE_STRING})})</td><td>null</td><td>Topics to commit offsets.</td></tr> </table>

version:3

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>generation_id</td><td>INT32</td><td>null</td><td>The generation of the group.</td></tr> <tr><td>member_id</td><td>STRING</td><td>null</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr> <tr><td>retention_time</td><td>INT64</td><td>null</td><td>Time period in ms to retain the offset.</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,offset:INT64,metadata:NULLABLE_STRING})})</td><td>null</td><td>Topics to commit offsets.</td></tr> </table>

OffsetFetchRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32})})</td><td>null</td><td>Topics to fetch offsets.</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32})})</td><td>null</td><td>Topics to fetch offsets.</td></tr> </table>

version:2

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32})})</td><td>null</td><td>Topics to fetch offsets. If the topic array is null fetch offsets for all topics.</td></tr> </table>

version:3

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32})})</td><td>null</td><td>Topics to fetch offsets. If the topic array is null fetch offsets for all topics.</td></tr> </table>

OffsetsForLeaderEpochRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,leader_epoch:INT32})})</td><td>null</td><td>An array of topics to get epochs for</td></tr> </table>

ProduceRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>acks</td><td>INT16</td><td>null</td><td>The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The time to await a response in ms.</td></tr> <tr><td>topic_data</td><td>ARRAY({topic:STRING,data:ARRAY({partition:INT32,record_set:RECORDS})})</td><td>null</td><td>null</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>acks</td><td>INT16</td><td>null</td><td>The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The time to await a response in ms.</td></tr> <tr><td>topic_data</td><td>ARRAY({topic:STRING,data:ARRAY({partition:INT32,record_set:RECORDS})})</td><td>null</td><td>null</td></tr> </table>

version:2

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>acks</td><td>INT16</td><td>null</td><td>The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The time to await a response in ms.</td></tr> <tr><td>topic_data</td><td>ARRAY({topic:STRING,data:ARRAY({partition:INT32,record_set:RECORDS})})</td><td>null</td><td>null</td></tr> </table>

version:3

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>transactional_id</td><td>NULLABLE_STRING</td><td>null</td><td>The transactional id or null if the producer is not transactional</td></tr> <tr><td>acks</td><td>INT16</td><td>null</td><td>The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The time to await a response in ms.</td></tr> <tr><td>topic_data</td><td>ARRAY({topic:STRING,data:ARRAY({partition:INT32,record_set:RECORDS})})</td><td>null</td><td>null</td></tr> </table>

version:4

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>transactional_id</td><td>NULLABLE_STRING</td><td>null</td><td>The transactional id or null if the producer is not transactional</td></tr> <tr><td>acks</td><td>INT16</td><td>null</td><td>The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The time to await a response in ms.</td></tr> <tr><td>topic_data</td><td>ARRAY({topic:STRING,data:ARRAY({partition:INT32,record_set:RECORDS})})</td><td>null</td><td>null</td></tr> </table>

version:5

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>transactional_id</td><td>NULLABLE_STRING</td><td>null</td><td>The transactional id or null if the producer is not transactional</td></tr> <tr><td>acks</td><td>INT16</td><td>null</td><td>The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.</td></tr> <tr><td>timeout</td><td>INT32</td><td>null</td><td>The time to await a response in ms.</td></tr> <tr><td>topic_data</td><td>ARRAY({topic:STRING,data:ARRAY({partition:INT32,record_set:RECORDS})})</td><td>null</td><td>null</td></tr> </table>

SaslAuthenticateRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>sasl_auth_bytes</td><td>BYTES</td><td>null</td><td>SASL authentication bytes from client as defined by the SASL mechanism.</td></tr> </table>

SaslHandshakeRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>mechanism</td><td>STRING</td><td>null</td><td>SASL Mechanism chosen by the client.</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>mechanism</td><td>STRING</td><td>null</td><td>SASL Mechanism chosen by the client.</td></tr> </table>

StopReplicaRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>controller_id</td><td>INT32</td><td>null</td><td>The controller id.</td></tr> <tr><td>controller_epoch</td><td>INT32</td><td>null</td><td>The controller epoch.</td></tr> <tr><td>delete_partitions</td><td>BOOLEAN</td><td>null</td><td>Boolean which indicates if replica's partitions must be deleted.</td></tr> <tr><td>partitions</td><td>ARRAY({topic:STRING,partition:INT32})</td><td>null</td><td>null</td></tr> </table>

SyncGroupRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>generation_id</td><td>INT32</td><td>null</td><td>The generation of the group.</td></tr> <tr><td>member_id</td><td>STRING</td><td>null</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr> <tr><td>group_assignment</td><td>ARRAY({member_id:STRING,member_assignment:BYTES})</td><td>null</td><td>null</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>generation_id</td><td>INT32</td><td>null</td><td>The generation of the group.</td></tr> <tr><td>member_id</td><td>STRING</td><td>null</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr> <tr><td>group_assignment</td><td>ARRAY({member_id:STRING,member_assignment:BYTES})</td><td>null</td><td>null</td></tr> </table>

TxnOffsetCommitRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>transactional_id</td><td>STRING</td><td>null</td><td>The transactional id corresponding to the transaction.</td></tr> <tr><td>group_id</td><td>STRING</td><td>null</td><td>The unique group identifier</td></tr> <tr><td>producer_id</td><td>INT64</td><td>null</td><td>Current producer id in use by the transactional id.</td></tr> <tr><td>producer_epoch</td><td>INT16</td><td>null</td><td>Current epoch associated with the producer id.</td></tr> <tr><td>topics</td><td>ARRAY({topic:STRING,partitions:ARRAY({partition:INT32,offset:INT64,metadata:NULLABLE_STRING})})</td><td>null</td><td>The partitions to write markers for.</td></tr> </table>

UpdateMetadataRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>controller_id</td><td>INT32</td><td>null</td><td>The controller id.</td></tr> <tr><td>controller_epoch</td><td>INT32</td><td>null</td><td>The controller epoch.</td></tr> <tr><td>partition_states</td><td>ARRAY({topic:STRING,partition:INT32,controller_epoch:INT32,leader:INT32,leader_epoch:INT32,isr:ARRAY(INT32),zk_version:INT32,replicas:ARRAY(INT32)})</td><td>null</td><td>null</td></tr> <tr><td>live_brokers</td><td>ARRAY({id:INT32,host:STRING,port:INT32})</td><td>null</td><td>null</td></tr> </table>

version:1

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>controller_id</td><td>INT32</td><td>null</td><td>The controller id.</td></tr> <tr><td>controller_epoch</td><td>INT32</td><td>null</td><td>The controller epoch.</td></tr> <tr><td>partition_states</td><td>ARRAY({topic:STRING,partition:INT32,controller_epoch:INT32,leader:INT32,leader_epoch:INT32,isr:ARRAY(INT32),zk_version:INT32,replicas:ARRAY(INT32)})</td><td>null</td><td>null</td></tr> <tr><td>live_brokers</td><td>ARRAY({id:INT32,end_points:ARRAY({port:INT32,host:STRING,security_protocol_type:INT16})})</td><td>null</td><td>null</td></tr> </table>

version:2

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>controller_id</td><td>INT32</td><td>null</td><td>The controller id.</td></tr> <tr><td>controller_epoch</td><td>INT32</td><td>null</td><td>The controller epoch.</td></tr> <tr><td>partition_states</td><td>ARRAY({topic:STRING,partition:INT32,controller_epoch:INT32,leader:INT32,leader_epoch:INT32,isr:ARRAY(INT32),zk_version:INT32,replicas:ARRAY(INT32)})</td><td>null</td><td>null</td></tr> <tr><td>live_brokers</td><td>ARRAY({id:INT32,end_points:ARRAY({port:INT32,host:STRING,security_protocol_type:INT16}),rack:NULLABLE_STRING})</td><td>null</td><td>null</td></tr> </table>

version:3

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>controller_id</td><td>INT32</td><td>null</td><td>The controller id.</td></tr> <tr><td>controller_epoch</td><td>INT32</td><td>null</td><td>The controller epoch.</td></tr> <tr><td>partition_states</td><td>ARRAY({topic:STRING,partition:INT32,controller_epoch:INT32,leader:INT32,leader_epoch:INT32,isr:ARRAY(INT32),zk_version:INT32,replicas:ARRAY(INT32)})</td><td>null</td><td>null</td></tr> <tr><td>live_brokers</td><td>ARRAY({id:INT32,end_points:ARRAY({port:INT32,host:STRING,listener_name:STRING,security_protocol_type:INT16}),rack:NULLABLE_STRING})</td><td>null</td><td>null</td></tr> </table>

version:4

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>controller_id</td><td>INT32</td><td>null</td><td>The controller id.</td></tr> <tr><td>controller_epoch</td><td>INT32</td><td>null</td><td>The controller epoch.</td></tr> <tr><td>partition_states</td><td>ARRAY({topic:STRING,partition:INT32,controller_epoch:INT32,leader:INT32,leader_epoch:INT32,isr:ARRAY(INT32),zk_version:INT32,replicas:ARRAY(INT32),offline_replicas:ARRAY(INT32)})</td><td>null</td><td>null</td></tr> <tr><td>live_brokers</td><td>ARRAY({id:INT32,end_points:ARRAY({port:INT32,host:STRING,listener_name:STRING,security_protocol_type:INT16}),rack:NULLABLE_STRING})</td><td>null</td><td>null</td></tr> </table>

WriteTxnMarkersRequest

version:0

<table><tr><td style="width:160px">name</td><td>type</td><td style="width:80px">defaultValue</td><td>docString</td></tr><tr><td>transaction_markers</td><td>ARRAY({producer_id:INT64,producer_epoch:INT16,transaction_result:BOOLEAN,topics:ARRAY({topic:STRING,partitions:ARRAY(INT32)}),coordinator_epoch:INT32})</td><td>null</td><td>The transaction markers to be written.</td></tr> </table>