Hello Sanghyeok An, Thanks for the feedback,
The consumer already has corresponding close semantics that differentiate behavior based on membership, and in that context I agree that having static members remain in the group by default is reasonable and consistent with the goal of static membership. Based on this, I plan to make the behavior explicit in the KIP: under the Streams Protocol, CloseOptions.DEFAULT will resolve to remain in group for static members, while keeping the existing behavior for dynamic members. Best Regards, Jiunn-Yang > Sanghyeok An <[email protected]> 於 2026年2月27日 晚上10:57 寫道: > > Hi Jiunn-Yang, > Thanks for the this KIP. > > I have a small question. > > ash01 : > Would it be worth considering mapping CloseOptions.DEFAULT differently not > only based on the protocol, but also on whether the member is static? > > I recently worked on a server-side implementation of static membership for > KIP-1071. > Once static members are supported under the Streams Protocol, DEFAULT close > semantics may reasonably differ between dynamic and static members. > > For dynamic members, I agree with the KIP rationale that remaining in the > group provides no real benefit, so having DEFAULT map to a leave behavior > under the Streams Protocol makes sense. > However, for static members, making leave the default would weaken the > primary benefit of static membership, minimizing rebalances on restart. > > Would it make sense to resolve DEFAULT under the Streams Protocol as follows? > - dynamic member: DEFAULT maps to consumer CloseOptions.DEFAULT (leave) > - static member: DEFAULT maps to consumer CloseOptions.REMAIN_IN_GROUP > (remain) > > This would keep the no-arg KafkaStreams.close() as a safer default in both > cases, while still reserving REMAIN_IN_GROUP as an explicit user intent. > Curious what you think, and whether this should be in scope for this KIP or > tracked as a follow-up. > > Thanks for reading this! > > Best Regards > Sanghyeok An > > -----Original Message----- > From: "Lucas Brutschy via dev"<[email protected]> > To: <[email protected]>; > Cc: "Lucas Brutschy"<[email protected]>; > Sent: 2026-02-24 (화) 21:26:47 (GMT+09:00) > Subject: Re: [DISCUSS] KIP-1284 Introduce CloseOptions.DEFAULT for Kafka > Streams > > Hi Jiunn-Yang, > > Thanks for the update; it looks good to me. > > Cheers, > Lucas > > On Tue, Feb 24, 2026 at 12:33 PM 黃竣陽 <[email protected]> wrote: >> >> Hi Lucas, >> >> Thanks for your feedback, I have updated the KIP. >> >> Best Regards, >> Jiunn-Yang >> >>> Lucas Brutschy via dev <[email protected]> 於 2026年2月23日 晚上11:00 寫道: >>> >>> Hi Jiunn-Yang, >>> >>> Thanks for the KIP! I think it's correct and pretty much reflects what >>> was written in the ticket. >>> >>> One thing to point out explicitly is that there _is_ a behavioral >>> change. People using REMAIN_IN_GROUP explicitly now with streams >>> groups, the member left before theis KIP and will remain with this >>> KIP. However, I think this is rarely used because it explicitly states >>> the (old) default. Specifically with KIP-1071, I don't think many >>> people will use it. I consider the behavioral change here more a bug >>> fix that we are implementing as part of this KIP, but I would still >>> point it out in the KIP. >>> >>> Thanks, >>> Lucas >>> >>> >>> >>> On Mon, Feb 23, 2026 at 2:32 PM 黃竣陽 <[email protected]> wrote: >>>> >>>> Hello everyone, >>>> >>>> I would like to start a discussion on KIP-1284 Introduce >>>> CloseOptions.DEFAULT for Kafka Streams >>>> <https://cwiki.apache.org/confluence/x/1ow8G> >>>> >>>> This proposal aims to introduce CloseOptions.DEFAULT to resolve semantic >>>> inconsistency >>>> in KafkaStreams shutdown behavior across protocols. >>>> >>>> Best regards, >>>> Jiunn-Yang >>
