chia7712 commented on code in PR #23486:
URL: https://github.com/apache/kafka/pull/23486#discussion_r4037656675


##########
docs/streams/developer-guide/streams-rebalance-protocol.md:
##########
@@ -53,7 +53,7 @@ The following features are available in the current release:
 
 * **Offline Migration**: After shutting down all members and waiting for their 
`session.timeout.ms` to expire (or forcing an explicit group leave), a classic 
group can be converted to a streams group and a streams group can be converted 
to a classic group. The only broker-side group data that will be preserved are 
the committed offsets. Internal topics (changelog and repartition topics) will 
continue to exist as regular Kafka topics.
 
-* **Static Membership**: Streams applications can configure 
[`group.instance.id`](../config-streams#group-instance-id) when using 
`group.protocol=streams`. However, for topologies without persistent state 
stores, Kafka Streams generates a new process ID on each restart, causing the 
broker to recompute the group assignment and effectively negating the benefits 
of static membership across restarts.
+* **Static Membership**: Streams applications can configure 
[`group.instance.id`](../config-streams#group-instance-id) when using 
`group.protocol=streams`. This requires clients and brokers running Kafka 4.4 
or newer: brokers on older versions reject `group.instance.id` on the streams 
group heartbeat with `INVALID_REQUEST`, which is a fatal error that shuts down 
the Kafka Streams client. Do not downgrade brokers below 4.4 while static 
members are running; if brokers have already been downgraded, remove 
`group.instance.id` from the application configuration and restart the 
application. Also note that for topologies without persistent state stores, 
Kafka Streams generates a new process ID on each restart, causing the broker to 
recompute the group assignment and effectively negating the benefits of static 
membership across restarts.

Review Comment:
   > Do not downgrade brokers below 4.4 while static members are running
   
   This is a bit misleading to me since it reads like "I will be fine if I stop 
the application". Maybe we could tweak the two statements, for example:
   
   > Before downgrading brokers below 4.4, or if brokers have already been 
downgraded, remove group.instance.id from all Streams applications using 
group.protocol=streams and restart them.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to