suzhiking opened a new pull request, #23486:
URL: https://github.com/apache/kafka/pull/23486

   Kafka 4.4 adds static membership (`group.instance.id`) to the Streams 
Rebalance Protocol, but the 4.4 docs announce it without stating the broker 
requirement.
   
   The `InstanceId` field exists in `StreamsGroupHeartbeatRequest` v0, so a 4.4 
Kafka Streams client sends it to any broker. Brokers older than 4.4 reject it 
via `throwIfStreamsGroupHeartbeatRequestIsUsingUnsupportedFeatures` with 
`INVALID_REQUEST` ("Static membership is not yet supported"), and 
`StreamsGroupHeartbeatRequestManager` treats `INVALID_REQUEST` as a fatal error 
that shuts down the client. This bites in particular when brokers are 
downgraded from 4.4 to 4.3 or 4.2 while static members are running: every 
heartbeat fails and the application goes down. Failing fast is the intended 
behavior, but users need to know about it before they downgrade.
   
   This PR documents the broker requirement, the failure mode, and the recovery 
step (remove `group.instance.id` and restart the application) in:
   
   - `docs/streams/upgrade-guide.md`, the 4.4 static membership paragraph
   - `docs/streams/developer-guide/streams-rebalance-protocol.md`, the Static 
Membership bullet
   - `docs/streams/developer-guide/config-streams.md`, the `group.instance.id` 
section
   - `docs/getting-started/upgrade.md`, a new bullet under "Notable changes in 
4.4.0"
   
   Docs only, no code changes.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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