View Source KlifeProtocol.Messages.Metadata (Klife Protocol v0.7.0)
Kafka protocol Metadata message
Request versions summary:
Response versions summary:
- Version 1 adds fields for the rack of each broker, the controller id, and whether or not the topic is internal.
- Version 2 adds the cluster ID field.
- Version 3 adds the throttle time.
- Version 4 is the same as version 3.
- Version 5 adds a per-partition offline_replicas field. This field specifies the list of replicas that are offline.
- Starting in version 6, on quota violation, brokers send out responses before throttling.
- Version 7 adds the leader epoch to the partition metadata.
- Starting in version 8, brokers can send authorized operations for topic and cluster.
- Version 9 is the first flexible version.
- Version 10 adds topicId.
- Version 11 deprecates ClusterAuthorizedOperations. This is now exposed by the DescribeCluster API (KIP-700). Version 12 supports topicId.
Link to this section Summary
Functions
Returns the message api key number.
Receive a binary in the kafka wire format and deserialize it into a map.
Returns the current max supported version of this message.
Returns the current min supported version of this message.
Receives a map and serialize it to kafka wire format of the given version.
Link to this section Functions
Returns the message api key number.
Receive a binary in the kafka wire format and deserialize it into a map.
Response content fields:
throttle_time_ms: 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. (int32 | versions 3+)
brokers: Each broker in the response. ([]MetadataResponseBroker | versions 0+)
node_id: The broker ID. (int32 | versions 0+)
host: The broker hostname. (string | versions 0+)
port: The broker port. (int32 | versions 0+)
rack: The rack of the broker, or null if it has not been assigned to a rack. (string | versions 1+)
cluster_id: The cluster ID that responding broker belongs to. (string | versions 2+)
controller_id: The ID of the controller broker. (int32 | versions 1+)
topics: Each topic in the response. ([]MetadataResponseTopic | versions 0+)
error_code: The topic error, or 0 if there was no error. (int16 | versions 0+)
name: 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 always populated. (string | versions 0+)
topic_id: 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 always populated. (uuid | versions 10+)
is_internal: True if the topic is internal. (bool | versions 1+)
partitions: Each partition in the topic. ([]MetadataResponsePartition | versions 0+)
error_code: The partition error, or 0 if there was no error. (int16 | versions 0+)
partition_index: The partition index. (int32 | versions 0+)
leader_id: The ID of the leader broker. (int32 | versions 0+)
leader_epoch: The leader epoch of this partition. (int32 | versions 7+)
replica_nodes: The set of all nodes that host this partition. ([]int32 | versions 0+)
isr_nodes: The set of nodes that are in sync with the leader for this partition. ([]int32 | versions 0+)
offline_replicas: The set of offline replicas of this partition. ([]int32 | versions 5+)
topic_authorized_operations: 32-bit bitfield to represent authorized operations for this topic. (int32 | versions 8+)
cluster_authorized_operations: 32-bit bitfield to represent authorized operations for this cluster. (int32 | versions 8-10)
Returns the current max supported version of this message.
Returns the current min supported version of this message.
Receives a map and serialize it to kafka wire format of the given version.
Input content fields:
topics: The topics to fetch metadata for. ([]MetadataRequestTopic | versions 0+)
topic_id: The topic id. (uuid | versions 10+)
name: The topic name. (string | versions 0+)
allow_auto_topic_creation: 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. (bool | versions 4+)
include_cluster_authorized_operations: Whether to include cluster authorized operations. (bool | versions 8-10)
include_topic_authorized_operations: Whether to include topic authorized operations. (bool | versions 8+)