// HeartbeatRequest issues a heartbeat for a member in a group, ensuring that // Kafka does not expire the member from the group. HeartbeatRequest => key 12, max version 4, flexible v4+, group coordinator // Group is the group ID this heartbeat is for. Group: string // Generation is the group generation this heartbeat is for. Generation: int32 // MemberID is the member ID this member is for. MemberID: string // InstanceID is the instance ID of this member in the group (KIP-345). InstanceID: nullable-string // v3+ // HeartbeatResponse is returned from a HeartbeatRequest. HeartbeatResponse => ThrottleMillis(2) // v1+ // ErrorCode is the error for the heartbeat request. // // GROUP_AUTHORIZATION_FAILED is returned if the client is not authorized // to the group (no read perms). // // INVALID_GROUP_ID is returned in the requested group ID is invalid. // // COORDINATOR_NOT_AVAILABLE is returned if the coordinator is not available // (due to the requested broker shutting down or it has not completed startup). // // NOT_COORDINATOR is returned if the requested broker is not the coordinator // for the requested group. // // UNKNOWN_MEMBER_ID is returned if the member ID is not a part of the group, // or if the group is empty or dead. // // ILLEGAL_GENERATION is returned if the request's generation ID is invalid. // // REBALANCE_IN_PROGRESS is returned if the group is currently rebalancing. ErrorCode: int16