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