Hi Lucas, Thanks for the KIP! I have only a few minor comments:
dj01: In the description of the handling of static members, you state that the assignment epoch will be set when the record is loaded. Did you mean replayed? The record is not necessarily loaded during normal operation. dj02: When replaying the record, it may be better to set the assigned epochs to zero if the member epoch is negative. The negative value is only used as a sentinel in the member epoch. I don't want it to be used in other places. dj03: We already have some code in getOrMaybeSubscribeStaticConsumerGroupMember to reset some fields when a static member is replaced. I wonder whether we should just follow this pattern instead of nulling the field when the static member leaves the group. This is an implementation detail but I wanted to raise it for awareness. dj04: It may be worth specifying that this KIP will completely eliminate the transient STALE_MEMBER_EPOCH that we observe during rebalances with the new protocol. So it will also improve the protocol's efficiency during rebalances too. Cheers, David On Tue, Jan 6, 2026 at 2:29 PM Lucas Brutschy via dev <[email protected]> wrote: > Hi Sean, > > sq01: Excellent point! I think the simplest approach would be to omit > assignment epochs from current assignment records for static members > that have left temporarily (memberEpoch = -2). When loading the > record, treat it exactly like a legacy record; Assume all assignment > epochs equal the member epoch (-2). Partitions would then be > considered assigned to the new member ID "from the start." > > Cheers, > Lucas > > On Sat, Jan 3, 2026 at 9:49 PM Sean Quah via dev <[email protected]> > wrote: > > > > Hi Lucas, > > Thanks for the KIP! > > > > sq01: Do you think we could describe what happens when a static member is > > replaced? The new static member will inherit the previous member's > > assignment, but will we also inherit the previous assignment epoch or > reset > > it to the new member's epoch? > > > > Thanks, > > Sean > > > > On Thu, Dec 18, 2025 at 8:00 PM Lucas Brutschy via dev < > [email protected]> > > wrote: > > > > > Hi all, > > > > > > I posted a new KIP to add assignment epochs to KIP-848-style consumer > > > groups. The idea is to avoid failing offset commits in the new > > > consumer protocol by relaxing the member epoch validation slightly. > > > > > > Please take a look and let me know what you think: > > > > > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-1251%3A+Assignment+epochs+for+consumer+groups > > > > > > Cheers, > > > Lucas > > > >
