Hi Andrew

Everything makes sense to me.

-Alieh

On Thu, Jul 16, 2026 at 9:30 PM Andrew Schofield <[email protected]>
wrote:

> Hi Alieh,
> Thanks for your comments.
>
> AS01: I did look at the DescribeGroups RPC but, if we were creating that
> now, we would call it ClassicGroupDescribe. It really does contain all of
> the fields which are needed to describe a classic group such as member
> information and protocol. I didn't feel that bumping the version and
> introducing a GroupType would really solve that, so I've gone for a new RPC.
>
> Listing groups is an expensive operation because you have to ask all
> brokers to list their groups, and you don't even know whether they are all
> group coordinator shards. At least with a describe operation, you just need
> to find the coordinator for that group ID and then you can describe it.
>
> I've updated the KIP with the rationale.
>
> I share your revulsion at the name DescribeGroupsGeneric :) We have
> occasionally renamed RPCs so I could rename DescribeGroups to
> ClassicGroupDescribe and then call the new one GroupDescribe. Let me know
> your thoughts.
>
> AS02: I went for a class in order to match the existing
> XxxGroupDescription classes. I could change them all over to be interfaces,
> but that's quite disruptive. Do you think that's worth it? I tend to think
> not.
>
> AS03: Done.
>
> AS04: Done.
>
> I have not yet created the JIRA and I'll do so once the vote passes.
>
> Thanks,
> Andrew
>
> On 2026/06/28 18:16:16 Alieh Saeedi via dev wrote:
> > Hi Andrew,
> >
> > Thanks for the KIP - decoupling export from reset is a real usability
> win.
> > A few comments, mostly on the generic-describe half.
> >
> > AS01: KIP-1043 deliberately unified group listing but kept describe
> > per-type; a cross-type describeGroups/GroupDescription moves in the other
> > direction, so it'd help to cover the relationship in Rejected
> Alternatives
> > - what changed since KIP-1043? As proposed, GroupDescription carries only
> > the common metadata (groupId/type/state/coordinator/authorizedOperations)
> > rather than unifying the richer per-type output, so it's really a
> > lightweight cross-type lookup - close to what GroupListing already
> exposes
> > (groupId()/type()/groupState()). Given that, could you walk through why a
> > brand-new RPC is needed rather than one of the cheaper routes? a) Reuse
> > listGroups() + existing per-type describe: it already returns the type,
> so
> > the CLI improvement might need no protocol change at all. b) Extend the
> > classic DescribeGroups RPC: it already returns group state and protocol
> > type and supports IncludeAuthorizedOperations; the only real gap for
> > cross-type discovery seems to be that its response carries no GroupType,
> > which a version bump could add - giving the same atomic by-id lookup
> > without a new apiKey. If a new RPC is still the right call, what rules
> > those two out (e.g. is it a routing/handler concern - the classic
> describe
> > path not knowing about consumer-protocol/share/streams groups)?
> Relatedly,
> > DescribeGroupsGeneric sits awkwardly next to the existing DescribeGroups
> > and matches neither the classic name nor the per-type <Type>GroupDescribe
> > convention
> (ConsumerGroupDescribe/ShareGroupDescribe/StreamsGroupDescribe).
> >
> > AS02: If we keep a public GroupDescription, could we make it an interface
> > with accessors rather than a class with a public constructor? A public
> > constructor freezes the signature, meaning adding a field later causes a
> > binary break. It'd also help to clarify its relationship to GroupListing,
> > which already exposes groupId()/type()/groupState().
> >
> > AS03: Could the KIP explicitly state that the CSV produced by
> > --export-offsets is byte-compatible with what --reset-offsets --from-file
> > consumes? The value of the round-trip depends on existing scripts
> > continuing to work.
> >
> > AS04: --export-offsets omits --from-file from its reset-spec list, but
> the
> > asymmetry vs. --reset-offsets isn't explained - a one-line note would
> help.
> >
> > nit: The JIRA link is still the KAFKA-1 template placeholder.
> >
> > Thanks,
> > -Alieh
> >
> > On Fri, Jun 19, 2026 at 7:19 PM Andrew Schofield <[email protected]>
> > wrote:
> >
> > > Hi Jiunn-Yang,
> > > Thanks for your response.
> > >
> > > jy_01: Absolutely right. Fixed.
> > >
> > > jy_02: Yes, it should. Fixed.
> > >
> > > Thanks,
> > > Andrew
> > >
> > > On 2026/06/18 15:49:29 黃竣陽 wrote:
> > > > Hello Andrew,
> > > >
> > > > Thanks for this KIP,
> > > >
> > > > jy_01: The package name is incorrect. It should be
> > > org.apache.kafka.clients.admin
> > > >
> > > > jy_02: Should DescribeGroupsOptions include an
> > > includeAuthorizedOperations field?
> > > > All other Describe*GroupsOptions classes
> > > (Consumer/Share/Streams/Classic) expose this flag,
> > > > and GroupDescription already has an authorizedOperations() method.
> > > >
> > > > Best Regards,
> > > > Jiunn-Yang
> > > >
> > > > > Chia-Ping Tsai <[email protected]> 於 2026年6月18日 晚上11:04 寫道:
> > > > >
> > > > > hi Andrew
> > > > >
> > > > > thanks for this KIP. I've left a few comments
> > > > >
> > > > > chia_00: How do we handle the RPCs? Do they reuse existing ones or
> > > introduce something new?
> > > > >
> > > > > chia_01: Would you mind adding the discussion link to the KIP page?
> > > > >
> > > > > Best,
> > > > > Chia-Ping
> > > > >
> > > > > On 2026/06/17 06:34:11 Andrew Schofield wrote:
> > > > >> Hi,
> > > > >> I’d like to start discussion on a small KIP to improve the
> usability
> > > of the command-line tools for resetting group offsets. When
> implementing
> > > KIP-1323 and reviewing the PRs, it became clear that the usability of
> this
> > > area of Kafka isn’t great. This KIP improves the usability of these
> tools.
> > > > >>
> > > > >>
> > >
> https://urldefense.com/v3/__https://cwiki.apache.org/confluence/display/KAFKA/KIP-1359*3A*Improve*usability*of*resetting*group*offsets__;JSsrKysrKw!!Ayb5sqE7!vqzkXryZsqLU5Eri1k8vRp3gA7PbbwrrZ0LD0N8gE5AF8vr5TLUpw7Gsg3UZ-_Boxk7NdcOHfdTMmXx7xZp6hq4$
> > > > >>
> > > > >> Thanks,
> > > > >> Andrew
> > > > >>
> > > >
> > > >
> > >
> >
>

Reply via email to