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

Reply via email to