Hi David / Andrew,

Thanks for review. Thanks Andrew for picking up kafka-share-groups.sh 
implementation.
I will handle kafka-consumer-groups.sh.

DJ3: After discussing with @Chia-Ping Tsai, we think that using new format is 
more clear.

The new format will be like 
<topic-name1>:<partition-id1>,<partition-id2>;<topic-name2>:<partition-id1>,<partition-id2>

Using colon(:) to concat topic name and partition IDs.
Using comma(,) to concat partition IDs within same topic name.
Using semicolon(;) to concat topic strings.

AS3: Fix it with kafka-share-groups.sh. Thanks.

If there is no further suggestion, I will start a vote thread next Monday.

Thanks,
PoAn

> On Nov 14, 2024, at 9:05 PM, Andrew Schofield 
> <andrew_schofield_j...@outlook.com> wrote:
> 
> Hi PoAn,
> DJ2: I was just going to comment that "-" would be a more appropriate missing 
> value, but
> you got there first.
> 
> AS3: The examples for kafka-share-groups.sh include kafka-consumer-groups.sh 
> in the
> command line.
> 
> If this is accepted in time, I'm happy to pick up the implementation of the 
> share groups
> part of this if it helps.
> 
> Thanks,
> Andrew
> 
> ________________________________________
> From: Frank Yang <yangp...@gmail.com>
> Sent: 14 November 2024 10:48
> To: dev@kafka.apache.org <dev@kafka.apache.org>
> Subject: Re: [DISCUSS] KIP-1099: Extend kafka-consumer-groups command line 
> tool to support new consumer group
> 
> Hi David,
> 
> Thanks for the review and suggestion! I would like to get this in AK 4.0 as 
> well. I will do my best.
> 
> DJ1: Update KIP to put GROUP-EPOCH and TARGET-ASSIGNMENT-EPOCH before 
> #MEMBERS.
> 
> DJ2: I prefer to follow current missing column value “-“. (reference 
> <https://github.com/apache/kafka/blob/18199028a672fd973ac37bf26316994babc2a6da/tools/src/main/java/org/apache/kafka/tools/consumer/group/ConsumerGroupCommand.java#L92>)
> 
> DJ3: Update KIP to use CURRENT-EPOCH CURRENT-ASSIGNMENT TARGET-EPOCH 
> TARGET-ASSIGNMENT.
> Remove GROUP-EPOCH.
> 
> For assignment value, it follows current output (reference 
> <https://github.com/apache/kafka/blob/18199028a672fd973ac37bf26316994babc2a6da/tools/src/main/java/org/apache/kafka/tools/consumer/group/ConsumerGroupCommand.java#L413-L418>).
>  I think the form of `topicid-partitionid` is more clear.
> If we would like to use this form, I will update both output in 
> kafka-consumer-groups.sh and kafka-share-groups.sh.
> 
> DJ4: It looks like DescribeGroupsResponseData only has protocol type at group 
> level.
> Both DescribeGroupsResponseData and ConsumerGroupDescribeResponseData don’t 
> have protocol at member level.
> Could we use a followup to add it?
> 
> DJ5: Update KIP to put LEADER-EPOCH before CURRENT-OFFSET.
> 
> Thanks,
> PoAn
> 
>> On Nov 14, 2024, at 3:43 PM, David Jacot <dja...@confluent.io.INVALID> wrote:
>> 
>> Hi PoAn,
>> 
>> Thanks for the KIP! I have a few minor comments/suggestions:
>> 
>> DJ1: In the output of `--describe --verbose`, I would suggest putting
>> `GROUP-EPOCH` and `TARGET-ASSIGNMENT-EPOCH` before `#MEMBERS`.
>> DJ2: Continuing on the above, I assume that we will print out N/A for the
>> fields not supported by classic groups. Is this correct?
>> DJ3: In the output of `--describe --members --verbose`, I wonder if we
>> should use the following order and terms: CURRENT-EPOCH CURRENT-ASSIGNMENT
>> TARGET-EPOCH TARGET-ASSIGNMENT . I would remove the GROUP-EPOCH because it
>> is already in the group description. The value `(0)` used for the
>> assignment is incorrect. Here I suppose that we will print out the list of
>> partitions in the form of `topicid-partitionid`.
>> DJ4: Continuing on the above, I wonder if we should also add the protocol
>> used `classic` or `consumer`. For context, it is possible to have `classic`
>> members and `consumer` members in a `consumer` group during an online
>> upgrade from the classic protocol to the consumer protocol. Having this
>> information may be handy for administrators. What do you think?
>> DJ5: In the output of `--describe --offsets --verbose`, I would suggest
>> putting `LEADER-EPOCH` closer to `CURRENT-OFFSET`.
>> 
>> It would be great if we could get this one in AK 4.0 as it changes the
>> output of the command.
>> 
>> Thanks,
>> DJ
>> 
>> On Fri, Nov 1, 2024 at 7:40 AM Frank Yang <yangp...@gmail.com> wrote:
>> 
>>> Hi Sean / Andrew / Lianet,
>>> 
>>> Thanks for all your review and suggestions.
>>> 
>>> AS1, LM1, LM4: Change to add KIP-848 information when users give —verbose
>>> option.
>>> —describe —verbose: shows group epoch and target assignment epoch.
>>> —describe —members —verbose: shows above information, member epoch, and
>>> target assignment.
>>> 
>>> AS2: Change to use MEMBER-EPOCH to align with KIP-848 definition.
>>> 
>>> LM2: For classic group, it doesn’t have epoch, so I use Optional fields in
>>> ConsumerGroupDescription.
>>> For share group, it relies on KIP-848. It must have epoch, so I use int
>>> fields in ShareGroupDescription.
>>> 
>>> LM3: Remove —state change. We can get group level information by —describe
>>> —verbose.
>>> 
>>> SQ1: Add LEADER-EPOCH when users give —describe —offsets —verbose.
>>> 
>>> Thanks.
>>> PoAn
>>> 
>>>> On Nov 1, 2024, at 5:08 AM, Lianet M. <liane...@gmail.com> wrote:
>>>> 
>>>> Hello Frank, thanks for the KIP! A few comments:
>>>> 
>>>> LM1. I strongly agree with Andrew's suggestion of moving this into a
>>>> --verbose option. I expect someone would only attempt to make sense of
>>> the
>>>> epochs while debugging an issue, not while trying to view the group or
>>>> member's info. (Also member-epoch makes more sense to me, even more if we
>>>> end up agreeing in a --verbose). Related to both issues, my take is that
>>>> whoever is close to the protocol will expect member-epoch, whoever is not
>>>> will probably won't even need to see the epochs at all.
>>>> 
>>>> LM2. Why are the epochs defined as Optional (don't we expect to always
>>> have
>>>> them? with 0 initially, defined on the broker side for the group ones,
>>> and
>>>> client side for the member)
>>>> 
>>>> LM3. Why is the KIP including the –state option in the proposed changes?
>>> (
>>>> 
>>> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=327977411#KIP1099:Extendkafkaconsumergroupscommandlinetooltosupportnewconsumergroup---state
>>>> ).
>>>> I get that the output would change in that example, but it’s not because
>>> of
>>>> any change to the –state option itself. It's because of the change
>>> proposed
>>>> to the –described (required with the --state), and the changes to
>>>> --describe are already explained above (seems confusing, got me looking
>>> for
>>>> a change to the state filter which seemed unrelated).
>>>> 
>>>> LM4. Group epoch and target assignment epoch are conceptually at the
>>> group
>>>> level. vs member epoch that lands at a member level. So wonder if we
>>> should
>>>> show them accordingly (ex. using the --verbose option)
>>>> –describe –verbose => shows group epoch and target assignment epoch
>>>>              –describe –members –verbose => shows member epoch (along
>>>> with group epoch and target assignment epoch)
>>>> 
>>>> Thanks!
>>>> 
>>>> Lianet
>>>> 
>>>> On Thu, Oct 31, 2024 at 7:30 AM Andrew Schofield <
>>>> andrew_schofield_j...@outlook.com> wrote:
>>>> 
>>>>> Hi PoAn,
>>>>> Thanks for the KIP. I have a few comments.
>>>>> 
>>>>> AS1: It seems to me that these new additions are most useful to people
>>>>> trying to understand
>>>>> the progress of rebalancing in quite some detail. The information is
>>>>> really not understandable
>>>>> for most users who do not have deep knowledge of KIP-848/932.
>>>>> 
>>>>> As a result, I suggest for kafka-share-groups.sh that you add a
>>> --members
>>>>> --verbose option
>>>>> and only include the new information in the output for that option,
>>> rather
>>>>> than changing the
>>>>> non-verbose --members output.
>>>>> 
>>>>> I also make a similar suggestion for kafka-consumer-groups.sh --members
>>>>> and only add the
>>>>> new information for the --verbose output.
>>>>> 
>>>>> AS2: I strongly suggest that you use MEMBER-EPOCH instead of
>>>>> CONSUMER-EPOCH.
>>>>> I think it's more confusing not following the terminology of the KIPs.
>>> For
>>>>> one thing,
>>>>> we already have "member" in the admin client such as MemberDescription.
>>>>> It's not a
>>>>> new term.
>>>>> 
>>>>> 
>>>>> Thanks,
>>>>> Andrew
>>>>> ________________________________________
>>>>> From: PoAn Yang <pay...@apache.org>
>>>>> Sent: 25 October 2024 13:55
>>>>> To: dev@kafka.apache.org <dev@kafka.apache.org>
>>>>> Subject: Re: [DISCUSS] KIP-1099: Extend kafka-consumer-groups command
>>> line
>>>>> tool to support new consumer group
>>>>> 
>>>>> Hi Lucas,
>>>>> 
>>>>> Thanks for the review!
>>>>> 
>>>>> 1) Yes, I add related change for kafka-share-groups.sh to the KIP. Could
>>>>> you take a look? Thanks for the suggestion.
>>>>> 
>>>>> 2) We use CONSUMER-ID as member ID. If we use MEMBER-EPOCH here, users
>>> may
>>>>> confuse what is different between CONSUMER and MEMBER.
>>>>> 
>>>>> Thanks,
>>>>> PoAn
>>>>> 
>>>>> On 2024/10/23 13:28:17 Lucas Brutschy wrote:
>>>>>> Hi Frank,
>>>>>> 
>>>>>> thanks for the KIP!
>>>>>> 
>>>>>> 1) For consistency, should we do the same for
>>>>>> kafka-share-groups.sh, ShareGroupDescription, etc. ? Even if we do not
>>>>>> implement it right now if the share group implementation may still be
>>>>>> incomplete, it may make sense to include it in the KIP.
>>>>>> 
>>>>>> 2) Why call it CONSUMER-EPOCH, not MEMBER-EPOCH? That would seem more
>>>>>> consistent.
>>>>>> 
>>>>>> Cheers,
>>>>>> Lucas
>>>>>> 
>>>>>> On Wed, Oct 23, 2024 at 2:41 PM Frank Yang <yangp...@gmail.com> wrote:
>>>>>> 
>>>>>>> Hi all,
>>>>>>> 
>>>>>>> I would like to kick off the discussion of KIP-1099. This KIP enhances
>>>>> the
>>>>>>> kafka-consumer-groups tools to include state which is introduced by
>>>>> KIP-848.
>>>>>>> 
>>>>>>> KIP-1099: Extend kafka-consumer-groups command line tool to support
>>> new
>>>>>>> consumer group - Apache Kafka - Apache Software Foundation
>>>>>>> <
>>>>> 
>>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1099%3A+Extend+kafka-consumer-groups+command+line+tool+to+support+new+consumer+group
>>>>>> 
>>>>>>> cwiki.apache.org
>>>>>>> <
>>>>> 
>>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1099%3A+Extend+kafka-consumer-groups+command+line+tool+to+support+new+consumer+group
>>>>>> 
>>>>>>> [image: favicon.ico]
>>>>>>> <
>>>>> 
>>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1099%3A+Extend+kafka-consumer-groups+command+line+tool+to+support+new+consumer+group
>>>>>> 
>>>>>>> <
>>>>> 
>>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1099%3A+Extend+kafka-consumer-groups+command+line+tool+to+support+new+consumer+group
>>>>>> 
>>>>>>> 
>>>>>>> Thank you,
>>>>>>> PoAn
>>>>>>> 
>>>>>> 
>>>>> 
>>> 
>>> 

Reply via email to