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 >>>>>>>>> >>>>>>>> >>>>>>> >>>>> >>>>> >> >>