View Source KlifeProtocol.Messages.ConsumerGroupHeartbeat (Klife Protocol v0.5.0)

Kafka protocol ConsumerGroupHeartbeat message

Request versions summary:

Response versions summary:

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.

Link to this function

deserialize_response(data, version, with_header? \\ true)

View Source

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 0+)

  • error_code: The top-level error code, or 0 if there was no error (int16 | versions 0+)

  • error_message: The top-level error message, or null if there was no error. (string | versions 0+)

  • member_id: The member id generated by the coordinator. Only provided when the member joins with MemberEpoch == 0. (string | versions 0+)

  • member_epoch: The member epoch. (int32 | versions 0+)

  • heartbeat_interval_ms: The heartbeat interval in milliseconds. (int32 | versions 0+)

  • assignment: null if not provided; the assignment otherwise. (Assignment | versions 0+)

    • topic_partitions: The partitions assigned to the member that can be used immediately. ([]TopicPartitions | versions 0+)

      • topic_id: The topic ID. (uuid | versions 0+)

      • partitions: The partitions. ([]int32 | versions 0+)

Returns the current max supported version of this message.

Returns the current min supported version of this message.

Link to this function

serialize_request(map, version)

View Source

Receives a map and serialize it to kafka wire format of the given version.

Input content fields:

  • group_id: The group identifier. (string | versions 0+)

  • member_id: The member id generated by the coordinator. The member id must be kept during the entire lifetime of the member. (string | versions 0+)

  • member_epoch: The current member epoch; 0 to join the group; -1 to leave the group; -2 to indicate that the static member will rejoin. (int32 | versions 0+)

  • instance_id: null if not provided or if it didn't change since the last heartbeat; the instance Id otherwise. (string | versions 0+)

  • rack_id: null if not provided or if it didn't change since the last heartbeat; the rack ID of consumer otherwise. (string | versions 0+)

  • rebalance_timeout_ms: -1 if it didn't change since the last heartbeat; the maximum time in milliseconds that the coordinator will wait on the member to revoke its partitions otherwise. (int32 | versions 0+)

  • subscribed_topic_names: null if it didn't change since the last heartbeat; the subscribed topic names otherwise. ([]string | versions 0+)

  • server_assignor: null if not used or if it didn't change since the last heartbeat; the server side assignor to use otherwise. (string | versions 0+)

  • topic_partitions: null if it didn't change since the last heartbeat; the partitions owned by the member. ([]TopicPartitions | versions 0+)

    • topic_id: The topic ID. (uuid | versions 0+)

    • partitions: The partitions. ([]int32 | versions 0+)