What is StreamsGroupHeartbeat?
Streams groups send topology metadata, task assignments, and changelog offsets in heartbeats so the broker can make globally optimal task placement decisions (KIP-1071). This moves rebalancing intelligence from the client-side assignor into the broker, enabling smoother scaling and standby task management.
| Version | Kafka | Changes |
|---|---|---|
| StreamsGroupHeartbeatRequest | ||
| v0 | 4.1 | + GroupId string+ MemberId string+ MemberEpoch int32+ EndpointInformationEpoch int32+ InstanceId string+ RackId string+ RebalanceTimeoutMs int32+ Topology Topology+ Epoch int32+ Subtopologies []Subtopology+ SubtopologyId string+ SourceTopics []string+ SourceTopicRegex []string+ StateChangelogTopics []TopicInfo+ Name string+ Partitions int32+ ReplicationFactor int16+ TopicConfigs []KeyValue+ Key string+ Value string+ RepartitionSinkTopics []string+ RepartitionSourceTopics []TopicInfo+ Name string+ Partitions int32+ ReplicationFactor int16+ TopicConfigs []KeyValue+ Key string+ Value string+ CopartitionGroups []CopartitionGroup+ SourceTopics []int16+ SourceTopicRegex []int16+ RepartitionSourceTopics []int16+ ActiveTasks []TaskIds+ SubtopologyId string+ Partitions []int32+ StandbyTasks []TaskIds+ SubtopologyId string+ Partitions []int32+ WarmupTasks []TaskIds+ SubtopologyId string+ Partitions []int32+ ProcessId string+ UserEndpoint Endpoint+ Host string+ Port uint16+ ClientTags []KeyValue+ Key string+ Value string+ TaskOffsets []TaskOffset+ SubtopologyId string+ Partition int32+ Offset int64+ TaskEndOffsets []TaskOffset+ SubtopologyId string+ Partition int32+ Offset int64+ ShutdownApplication bool~ Flexible encoding enabled FLEXIBLE |
| StreamsGroupHeartbeatResponse | ||
| v0 | 4.1 | + ThrottleTimeMs int32+ ErrorCode int16+ ErrorMessage string+ MemberId string+ MemberEpoch int32+ HeartbeatIntervalMs int32+ AcceptableRecoveryLag int32+ TaskOffsetIntervalMs int32+ Status []Status+ StatusCode int8+ StatusDetail string+ ActiveTasks []TaskIds+ SubtopologyId string+ Partitions []int32+ StandbyTasks []TaskIds+ SubtopologyId string+ Partitions []int32+ WarmupTasks []TaskIds+ SubtopologyId string+ Partitions []int32+ EndpointInformationEpoch int32+ PartitionsByUserEndpoint []EndpointToPartitions+ UserEndpoint Endpoint+ Host string+ Port uint16+ ActivePartitions []TopicPartition+ Topic string+ Partitions []int32+ StandbyPartitions []TopicPartition+ Topic string+ Partitions []int32~ Flexible encoding enabled FLEXIBLE |