Lucas Brutschy created KAFKA-20169:
--------------------------------------
Summary: Support static membership for Kafka Streams with the
streams rebalance protocol
Key: KAFKA-20169
URL: https://issues.apache.org/jira/browse/KAFKA-20169
Project: Kafka
Issue Type: Task
Components: streams, group-coordinator
Reporter: Lucas Brutschy
The streams rebalance protocol \(KIP\-1071\) does not currently support static
membership. Setting group.instance.id when using group.protocol=streams results
in a ConfigException being thrown at startup \(see
StreamsConfig.java:1507\-1508\). Static membership is an important feature for
minimizing unnecessary task reassignments during planned maintenance or rolling
updates.
As specified in KIP\-1071, static membership should allow streams clients to
maintain stable identities across restarts. Members should be able to specify
an instance ID in heartbeat requests, allowing them to rejoin without
triggering full rebalances. When a member with static membership rejoins with
updated configuration \(topology metadata, rack ID, or process ID\), the group
epoch should be bumped but the member should retain its identity. The
broker\-side infrastructure for static members already exists in
StreamsGroup.java \(the staticMembers TimelineHashMap\), but the client\-side
validation rejects the configuration and the coordinator logic to handle static
member semantics is not complete.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)