THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
{ "apiKey": 4, "type": "request", "listeners": ["zkBroker"], "name": "LeaderAndIsrRequest", // Version 1 adds IsNew. // // Version 2 adds broker epoch and reorganizes the partitions by topic. // // Version 3 adds AddingReplicas and RemovingReplicas. // // Version 4 is the first flexible version. // // Version 5 adds Topic ID and Type to the TopicStates, as described in KIP-516. // // Version 6 adds IsLeaderRecovering as describe in KIP-704. "validVersions": "0-6", "flexibleVersions": "4+", "fields": [ { "name": "ControllerId", "type": "int32", "versions": "0+", "entityType": "brokerId", "about": "The current controller ID." }, { "name": "ControllerEpoch", "type": "int32", "versions": "0+", "about": "The current controller epoch." }, { "name": "BrokerEpoch", "type": "int64", "versions": "2+", "ignorable": true, "default": "-1", "about": "The current broker epoch." }, { "name": "Type", "type": "int8", "versions": "5+", "about": "The type that indicates whether all topics are included in the request"}, { "name": "UngroupedPartitionStates", "type": "[]LeaderAndIsrPartitionState", "versions": "0-1", "about": "The state of each partition, in a v0 or v1 message." }, // In v0 or v1 requests, each partition is listed alongside its topic name. // In v2+ requests, partitions are organized by topic, so that each topic name // only needs to be listed once. { "name": "TopicStates", "type": "[]LeaderAndIsrTopicState", "versions": "2+", "about": "Each topic.", "fields": [ { "name": "TopicName", "type": "string", "versions": "2+", "entityType": "topicName", "about": "The topic name." }, { "name": "TopicId", "type": "uuid", "versions": "5+", "ignorable": true, "about": "The unique topic ID." }, { "name": "PartitionStates", "type": "[]LeaderAndIsrPartitionState", "versions": "2+", "about": "The state of each partition" } ]}, { "name": "LiveLeaders", "type": "[]LeaderAndIsrLiveLeader", "versions": "0+", "about": "The current live leaders.", "fields": [ { "name": "BrokerId", "type": "int32", "versions": "0+", "entityType": "brokerId", "about": "The leader's broker ID." }, { "name": "HostName", "type": "string", "versions": "0+", "about": "The leader's hostname." }, { "name": "Port", "type": "int32", "versions": "0+", "about": "The leader's port." } ]} ], "commonStructs": [ { "name": "LeaderAndIsrPartitionState", "versions": "0+", "fields": [ { "name": "TopicName", "type": "string", "versions": "0-1", "entityType": "topicName", "ignorable": true, "about": "The topic name. This is only present in v0 or v1." }, { "name": "PartitionIndex", "type": "int32", "versions": "0+", "about": "The partition index." }, { "name": "ControllerEpoch", "type": "int32", "versions": "0+", "about": "The controller epoch." }, { "name": "Leader", "type": "int32", "versions": "0+", "entityType": "brokerId", "about": "The broker ID of the leader." }, { "name": "LeaderEpoch", "type": "int32", "versions": "0+", "about": "The leader epoch." }, { "name": "Isr", "type": "[]int32", "versions": "0+", "entityType": "brokerId", "about": "The in-sync replica IDs." }, { "name": "ZkVersion", "type": "int32", "versions": "0+", "about": "The ZooKeeper version." }, { "name": "Replicas", "type": "[]int32", "versions": "0+", "entityType": "brokerId", "about": "The replica IDs." }, { "name": "AddingReplicas", "type": "[]int32", "versions": "3+", "ignorable": true, "entityType": "brokerId", "about": "The replica IDs that we are adding this partition to, or null if no replicas are being added." }, { "name": "RemovingReplicas", "type": "[]int32", "versions": "3+", "ignorable": true, "entityType": "brokerId", "about": "The replica IDs that we are removing this partition from, or null if no replicas are being removed." }, { "name": "IsNew", "type": "bool", "versions": "1+", "default": "false", "ignorable": true, "about": "Whether the replica should have existed on the broker or not." }, // -------- Properties added by this KIP --------- { "name": "IsLeaderRecovering", "type": "booleanbool", "versions": "6+", "default": "false", "ignorable": true, "about": "Whether the leader was elected using the unclean leader election strategy and it is recovering." } ]} ] } |
...
Code Block |
---|
{ "apiKey": 56, "type": "request", "listeners": ["zkBroker", "controller"], "name": "AlterIsrRequest", "validVersions": "0-1", "flexibleVersions": "0+", "fields": [ { "name": "BrokerId", "type": "int32", "versions": "0+", "entityType": "brokerId", "about": "The ID of the requesting broker" }, { "name": "BrokerEpoch", "type": "int64", "versions": "0+", "default": "-1", "about": "The epoch of the requesting broker" }, { "name": "Topics", "type": "[]TopicData", "versions": "0+", "fields": [ { "name": "Name", "type": "string", "versions": "0+", "entityType": "topicName", "about": "The name of the topic to alter ISRs for" }, { "name": "Partitions", "type": "[]PartitionData", "versions": "0+", "fields": [ { "name": "PartitionIndex", "type": "int32", "versions": "0+", "about": "The partition index" }, { "name": "LeaderEpoch", "type": "int32", "versions": "0+", "about": "The leader epoch of this partition" }, { "name": "NewIsr", "type": "[]int32", "versions": "0+", "entityType": "brokerId", "about": "The ISR for this partition"}, // ----- Start of properties added by this KIP ----- { "name": "IsLeaderRecovering", "type": "booleanbool", "versions": "1+", "default": "false", "ignoreable": true, "about": "Whether the leader is recovering from unclean leader election." }, // ----- End of properties added by this KIP ----- { "name": "CurrentIsrVersion", "type": "int32", "versions": "0+", "about": "The expected version of ISR which is being updated"} ]} ]} ] } |
...
Code Block |
---|
{ "apiKey": 56, "type": "response", "name": "AlterIsrResponse", "validVersions": "0-1", "flexibleVersions": "0+", "fields": [ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+", "about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." }, { "name": "ErrorCode", "type": "int16", "versions": "0+", "about": "The top level response error code" }, { "name": "Topics", "type": "[]TopicData", "versions": "0+", "fields": [ { "name": "Name", "type": "string", "versions": "0+", "entityType": "topicName", "about": "The name of the topic" }, { "name": "Partitions", "type": "[]PartitionData", "versions": "0+", "fields": [ { "name": "PartitionIndex", "type": "int32", "versions": "0+", "about": "The partition index" }, { "name": "ErrorCode", "type": "int16", "versions": "0+", "about": "The partition level error code" }, { "name": "LeaderId", "type": "int32", "versions": "0+", "entityType": "brokerId", "about": "The broker ID of the leader." }, { "name": "LeaderEpoch", "type": "int32", "versions": "0+", "about": "The leader epoch." }, { "name": "Isr", "type": "[]int32", "versions": "0+", "entityType": "brokerId", "about": "The in-sync replica IDs." }, // ----- Start of properties added by this KIP ----- { "name": "IsLeaderRecovering", "type": "booleanbool", "versions": "1+", "default": "false", "ignoreable": true, "about": "Whether the assigned leader is recovering from unclean leader election." }, // ----- End of properties added by this KIP ----- { "name": "CurrentIsrVersion", "type": "int32", "versions": "0+", "about": "The current ISR version." } ]} ]} ] } |
...
Code Block |
---|
{ "apiKey": 3, "type": "metadata", "name": "PartitionRecord", "validVersions": "0", "flexibleVersions": "0+", "fields": [ { "name": "PartitionId", "type": "int32", "versions": "0+", "default": "-1", "about": "The partition id." }, { "name": "TopicId", "type": "uuid", "versions": "0+", "about": "The unique ID of this topic." }, { "name": "Replicas", "type": "[]int32", "versions": "0+", "entityType": "brokerId", "about": "The replicas of this partition, sorted by preferred order." }, { "name": "Isr", "type": "[]int32", "versions": "0+", "about": "The in-sync replicas of this partition" }, { "name": "RemovingReplicas", "type": "[]int32", "versions": "0+", "entityType": "brokerId", "about": "The replicas that we are in the process of removing." }, { "name": "AddingReplicas", "type": "[]int32", "versions": "0+", "entityType": "brokerId", "about": "The replicas that we are in the process of adding." }, { "name": "Leader", "type": "int32", "versions": "0+", "default": "-1", "entityType": "brokerId", "about": "The lead replica, or -1 if there is no leader." }, // ----- Start of properties added by this KIP ----- { "name": "IsLeaderRecovering", "type": "booleanbool", "default": "false", "versions": "0+", "taggedVersions": "0+", "tag": 0, "about": "Whether the assigned leader was elected using the unclean leader election strategy and it is recovering." }, // ----- End of properties added by this KIP ----- { "name": "LeaderEpoch", "type": "int32", "versions": "0+", "default": "-1", "about": "The epoch of the partition leader." }, { "name": "PartitionEpoch", "type": "int32", "versions": "0+", "default": "-1", "about": "An epoch that gets incremented each time we change anything in the partition." } ] } |
...