What is ConsumerGroupHeartbeat?
The new consumer protocol (KIP-848) combines liveness, subscription updates, and incremental assignment acknowledgment into a single recurring heartbeat. Unlike classic JoinGroup/SyncGroup, this protocol supports incremental partition assignment, avoiding stop-the-world rebalances in large consumer groups.
| Version | Kafka | Changes |
|---|---|---|
| ConsumerGroupHeartbeatRequest | ||
| v0 | 3.5 | + GroupId string+ MemberId string+ MemberEpoch int32+ InstanceId string+ RackId string+ RebalanceTimeoutMs int32+ SubscribedTopicNames []string+ ServerAssignor string+ TopicPartitions []TopicPartitions+ TopicId uuid+ Partitions []int32~ Flexible encoding enabled FLEXIBLE |
| v1 | 4.0 | + SubscribedTopicRegex string |
| ConsumerGroupHeartbeatResponse | ||
| v0 | 3.5 | + ThrottleTimeMs int32+ ErrorCode int16+ ErrorMessage string+ MemberId string+ MemberEpoch int32+ HeartbeatIntervalMs int32+ Assignment Assignment+ TopicPartitions []TopicPartitions+ TopicId uuid+ Partitions []int32~ Flexible encoding enabled FLEXIBLE |
| v1 | 4.0 | No changes |