Hi David, Thanks for the reminder.
DJ4: Add related content to the KIP. Bump validVersions in ConsumerGroupDescribeResponse to “0-1”. Add a new field “Protocol” to ConsumerGroupDescribeResponse. Thanks, PoAn > On Nov 19, 2024, at 3:57 PM, David Jacot <dja...@confluent.io.INVALID> wrote: > > Hi PoAn, > > DJ4: Could you please also include the required changes to the > ConsumerGroupDescribed API in the public interface section? We basically > need to bump the version, add the new field, etc. > > Thanks, > David > > On Mon, Nov 18, 2024 at 5:40 AM PoAn Yang <yangp...@gmail.com> wrote: > >> Hi David, >> >> DJ4: Add a new field protocol to MemberDescription, >> so the command line tool can show protocol information when users describe >> members. >> >> If there is no further suggestion, I will start a vote thread today. >> >> Thanks, >> PoAn >> >>> On Nov 15, 2024, at 11:50 PM, David Jacot <dja...@confluent.io.INVALID> >> wrote: >>> >>> Hi, >>> >>> DJ2: Using "-" sounds good to me. >>> >>> DJ3: That seems reasonable to me. >>> >>> DJ4: Why not add it right now? I don't want to change the output of the >>> tool too many times. >>> >>> Best, >>> David >>> >>> On Fri, Nov 15, 2024 at 3:23 PM PoAn Yang <yangp...@gmail.com> wrote: >>> >>>> 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 >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>> >>>>>>> >>>> >>>> >> >>