Hello,
while continuing the work on KIP-1071, we found two errors that need to
be fixed. I updated the KIP wiki page accordingly. Please take a look
and let me know if I got anything wrong, or if there are ant concerns
about these changes:
1) Implementation error in 4.2.0 release: By mistake, the
StreamsGroupHeartbeatResponse field `acceptable-recovery-lag`, which is
defined as `int64` on the KIP, was implemented as `int32`. To fix this
problem, we need to bump the RPC version to `1`, and change the type
accordingly. -- For 4.2/4.3 releases, this is not really a problem
because the field is not yet used client side. -- To get correct
backward compatibility, we also need to bump the
StreamsGroupHeartbeatRequest version to `1`, allowing the broker to
either keep the `acceptable-recovery-lag` field unset for 4.2/4.3
clients and sending a v0 response back, or setting the correct int64
field and send a v1+ response.
2) For rack-aware standby task assignment, we need a broker side config
`rack.aware.assignment.tags` which was missing on the KIP. We are adding
it as both group-coordinator and streams-group config. The broker will
perform a validation (cf KIP-708) for each member, if all required
`client.tags` are configured. If not, the client is still allowed to
join the group, but rack-aware standby task assignment might not be able
to give the expected result. To surface this issue client side, we add a
new `Status Code` (6) `MISSING_CLIENT_TAGS` that the
`StreamsGroupHeartbeatResponse` can carry. The client is supposed to log
a WARN about this misconfiguration, allowing application developers to
react and update their configs. -- As both StreamsGroupHeartbeatRequest
and StreamsGroupHeartbeatResponse are bumped to v1 already, this new
error code with only be sent for v1+ responses, to avoid that 4.2/4.3
clients, connecting to a a 4.4+ broker don't get an error code they
don't understand.
-Matthias
On 12/11/25 1:39 AM, Lucas Brutschy via dev wrote:
Hi,
we made one more minor change for 4.2. In the heartbeat response, we
added a new status code
`ASSIGNMENT_DELAYED` to indicate that the returned assignment was empty, because
the assignment was delayed by `group.streams.initial.rebalance.delay.ms`.
Best,
Lucas
On Mon, Nov 17, 2025 at 8:51 AM Lucas Brutschy <[email protected]> wrote:
Hi,
while implementing KIP-1071 in 4.1 and upcoming 4.2 releases, we found
a couple of issues which required some tweaking of the KIP, I want to
highlight all changes. The KIP was already updated accordingly:
- Streams group description in Admin API now also exposes currentAssignmentEpoch
- In the Interactive Query endpoint information, we differentiate
active partitions from standby partitions, as in the classic protocol,
and we introduced an additional versioning number
(endpointInformationEpoch) to version it.
- StreamsGroupDescribe requires DESCRIBE ACL on groups and topics, not READ
- Adapted the changes from KIP-1101 (described there)
- In the StreamsGroupMetadataValue record, we added fields to store
the last assignment configuration, and the last validated topology
epoch
- In StreamsGroupCurrentMemberAssignmentValue, we track additionally
the epoch each task was assigned
- We added the configuration group.streams.initial.rebalance.delay.ms,
the equivalent of group.initial.rebalance.delay.ms in the classic
protocol.
- kafka-streams-group.sh got the additional option --all-groups as an
alternative to --group
We are marking the interfaces, records and RPCs as stable in 4.2.
Please let us know if there are any concerns.
Thanks,
Lucas
On Fri, Dec 13, 2024 at 11:10 AM Lucas Brutschy <[email protected]> wrote:
Thank you all for voting!
The KIP is now accepted with:
3 binding +1 (Sophie, Andrew, Bill).
2 non-binding +1 (Alieh, Colt).
No -1 or 0 votes.
We will target 4.1 for a non-production opt-in implementation of this KIP.
On Tue, Dec 10, 2024 at 1:18 AM Sophie Blee-Goldman
<[email protected]> wrote:
+1 (binding)
Thank you guys for the deep discussion and for carefully considering all
the details of this new protocol. Looking forward to seeing the KIP in
action!
-Sophie
On Fri, Dec 6, 2024 at 5:52 AM Andrew Schofield <
[email protected]> wrote:
Hi Bruno and Lucas,
Thanks for proposing this excellent KIP.
+1 (binding)
Thanks,
Andrew
________________________________________
From: Alieh Saeedi <[email protected]>
Sent: 03 December 2024 16:07
To: [email protected] <[email protected]>
Subject: Re: [VOTE]: KIP-1071: Streams Rebalance Protocol
Thanks for the effort. I really appreciate the time and dedication you put
into this.
+1(non-binding)
Cheers,
Alieh
On Wed, Nov 27, 2024 at 11:31 AM Bruno Cadonna <[email protected]> wrote:
Hi all,
We (Lucas and myself) would like to call for a vote on KIP-1071: Streams
Rebalance Protocol: https://cwiki.apache.org/confluence/x/2BCTEg
Discussion thread:
https://lists.apache.org/thread/h8lfcwm1ljq5d84194jfnqp9wh148r1v
Best,
Bruno