Thanks Colin,

> I guess I don't feel that strongly about it.  However, if we are going to 
> rely on inAnyState() / inStates(...) then let's make sure that the latter 
> throws an exception when getting an empty list as an argument (since it will 
> do something other than the obvious behavior of listing nothing).

Yes I've made that explicit in the KIP

On Wed, Feb 19, 2020 at 7:21 PM Colin McCabe <cmcc...@apache.org> wrote:
>
> On Thu, Feb 13, 2020, at 08:24, Mickael Maison wrote:
> > Hi Colin,
> >
> > > Can you please specify what the result is when a newer client tries to use
> > > this on an older broker?  Does that result in an
> > > UnsupportedVersionException?
> > Yes, in case this feature is not supported by the broker,
> > UnsupportedVersionException should be raised. Your question made me
> > look at it again and to properly handle all cases, I decided to bump
> > the ListGroups API version. That way, we can't end up in cases where
> > brokers know about the protocol version but not about the new optional
> > field. I've updated the KIP accordingly
>
> Yes, a protocol version bump seems fine here.
>
> >
> > > I would prefer an Optional in the Java API so that “show all groups” can
> > > be EMPTY.
> > I think it's nicer to provide a separate method in
> > ListConsumerGroupsOptions to request all states without listing them
> > rather than relying on empty Optional. I added a new method to the
> > proposal: "inAnyState()".
>
> I guess I don't feel that strongly about it.  However, if we are going to 
> rely on inAnyState() / inStates(...) then let's make sure that the latter 
> throws an exception when getting an empty list as an argument (since it will 
> do something other than the obvious behavior of listing nothing).
>
> >
> > Hi David,
> >
> > > 1. We already have the "--state" option in the command line tool which can
> > > be used
> > > with "--describe" and we will have "--states" which can be used with
> > > "--list". I feel this
> > > is going to be confusing for users. I wonder if we could combine both 
> > > cases
> > > to reduce
> > > the confusion but I am not sure it would be better. What do you think?
> > Yes absolutely, it makes sense to reuse this existing flag. Good catch!
> >
> > > 2. Regarding the output of the command line when "--states" is used, I
> > > wonder if it
> > > wouldn't be better to use a proper table with a header. We could use only
> > > when
> > > filters such as "--states" are used.
> > Yes that's a good idea.
> >
> > I've updated the KIP to take all these suggestions into account.
> > Thanks again for the feedback
>
> Thanks, Mickael.  It looks good.
>
> best,
> Colin
>
>
> >
> > On Mon, Feb 10, 2020 at 1:13 PM David Jacot <dja...@confluent.io> wrote:
> > >
> > > Hi Michael,
> > >
> > > Thank you for the updated KIP. I have few comments/questions:
> > >
> > > 1. We already have the "--state" option in the command line tool which can
> > > be used
> > > with "--describe" and we will have "--states" which can be used with
> > > "--list". I feel this
> > > is going to be confusing for users. I wonder if we could combine both 
> > > cases
> > > to reduce
> > > the confusion but I am not sure it would be better. What do you think?
> > >
> > > 2. Regarding the output of the command line when "--states" is used, I
> > > wonder if it
> > > wouldn't be better to use a proper table with a header. We could use only
> > > when
> > > filters such as "--states" are used.
> > >
> > > Best,
> > > David
> > >
> > > On Thu, Feb 6, 2020 at 10:44 PM Colin McCabe <cmcc...@apache.org> wrote:
> > >
> > > > Hi Mickael,
> > > >
> > > > Can you please specify what the result is when a newer client tries to 
> > > > use
> > > > this on an older broker?  Does that result in an
> > > > UnsupportedVersionException?
> > > >
> > > > I would prefer an Optional in the Java API so that “show all groups” can
> > > > be EMPTY.
> > > >
> > > > best,
> > > > Colin
> > > >
> > > >
> > > > On Mon, Jan 27, 2020, at 07:53, Mickael Maison wrote:
> > > > > Hi David,
> > > > >
> > > > > Did that answer your questions? or do you have any further feedback?
> > > > >
> > > > > Thanks
> > > > >
> > > > > On Thu, Jan 16, 2020 at 4:11 PM Mickael Maison 
> > > > > <mickael.mai...@gmail.com>
> > > > wrote:
> > > > > >
> > > > > > Hi David,
> > > > > >
> > > > > > Thanks for taking a look.
> > > > > > 1) Yes, updated
> > > > > >
> > > > > > 2) I had not considered that but indeed this would be useful if the
> > > > > > request contained multiple states and would avoid doing another 
> > > > > > call.
> > > > > > The ListGroups response already includes the group ProtocolType, so 
> > > > > > I
> > > > > > guess we could add the State as well. The response will still be
> > > > > > significantly smaller than DescribeGroups. With this change, one 
> > > > > > thing
> > > > > > to note is that having Describe on the Cluster resource will allow
> > > > > > retrieving the state of all groups. Currently retrieving the state 
> > > > > > of
> > > > > > a group requires Describe on the Group.
> > > > > >
> > > > > > 3) Yes if ListGroups response includes the state, it makes sense to
> > > > > > expose it via the command line tool and the AdminClient. With
> > > > > > ConsumerGroupCommand, to avoid compatibility issues we can only 
> > > > > > print
> > > > > > states when the --states flag is specified.
> > > > > >
> > > > > > I've updated the KIP accordingly.
> > > > > >
> > > > > > On Mon, Jan 13, 2020 at 12:20 PM David Jacot <dja...@confluent.io>
> > > > wrote:
> > > > > > >
> > > > > > > Hi Michael,
> > > > > > >
> > > > > > > Please, excuse me for my late feedback. I've got a few
> > > > questions/comments
> > > > > > > while reviewing the KIP.
> > > > > > >
> > > > > > > 1. I would suggest to clearly state in the documentation of the
> > > > state field
> > > > > > > that omitting it or providing an empty list means "all".
> > > > > > >
> > > > > > > 2. Have you considered including the state in the response? The 
> > > > > > > API
> > > > allows
> > > > > > > to search for multiple states so it could be
> > > > > > > convenient to have the state in the response to let the user
> > > > differentiate
> > > > > > > the groups.
> > > > > > >
> > > > > > > 3. If 2. makes sense, I would suggest to also include it in the
> > > > information
> > > > > > > printed out by the ConsumerGroupCommand tool. Putting
> > > > > > > myself in the shoes of an operator, I would like to see the state 
> > > > > > > of
> > > > each
> > > > > > > group if I select specific states. Perhaps we could
> > > > > > > use a table instead of the simple list used today. What do you 
> > > > > > > think?
> > > > > > >
> > > > > > > Thanks for the KIP!
> > > > > > >
> > > > > > > Best,
> > > > > > > David
> > > > > > >
> > > > > > > On Mon, Nov 11, 2019 at 12:40 PM Mickael Maison <
> > > > mickael.mai...@gmail.com>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi all,
> > > > > > > >
> > > > > > > > If there's no more feedback, I'll open a vote in the next few 
> > > > > > > > days.
> > > > > > > >
> > > > > > > > Thanks
> > > > > > > >
> > > > > > > >
> > > > > > > > On Fri, Nov 1, 2019 at 4:27 PM Mickael Maison <
> > > > mickael.mai...@gmail.com>
> > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > Hi Tom,
> > > > > > > > >
> > > > > > > > > Thanks for taking a look at the KIP!
> > > > > > > > > You are right, even if we serialize the field as a String, we
> > > > should
> > > > > > > > > use ConsumerGroupState in the API.
> > > > > > > > > As suggested, I've also updated the API so a list of states is
> > > > specified.
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On Tue, Oct 22, 2019 at 10:03 AM Tom Bentley <
> > > > tbent...@redhat.com>
> > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > Hi Mickael,
> > > > > > > > > >
> > > > > > > > > > Thanks for the KIP.
> > > > > > > > > >
> > > > > > > > > > The use of String to represent the desired state in the API
> > > > seems less
> > > > > > > > > > typesafe than would be ideal. Is there a reason not to use 
> > > > > > > > > > the
> > > > existing
> > > > > > > > > > ConsumerGroupState enum (even if the state is serialized as 
> > > > > > > > > > a
> > > > String)?
> > > > > > > > > >
> > > > > > > > > > While you say that the list-of-names result from
> > > > listConsumerGroups is
> > > > > > > > a
> > > > > > > > > > reason not to support supplying a set of desired states I
> > > > don't find
> > > > > > > > that
> > > > > > > > > > argument entirely convincing. Sure, if the results are going
> > > > to be
> > > > > > > > shown to
> > > > > > > > > > a user then it would be ambiguous and multiple queries 
> > > > > > > > > > would be
> > > > > > > > needed. But
> > > > > > > > > > it seems quite possible that the returned list of groups 
> > > > > > > > > > will
> > > > > > > > immediately
> > > > > > > > > > be used in a describeConsumerGroups query (for example, so
> > > > show a user
> > > > > > > > > > additional information about the groups of interest, for
> > > > example). In
> > > > > > > > that
> > > > > > > > > > case the grouping by state could be done on the 
> > > > > > > > > > descriptions,
> > > > and some
> > > > > > > > RPCs
> > > > > > > > > > could be avoided. It would also avoid the race inherent in
> > > > making
> > > > > > > > multiple
> > > > > > > > > > listConsumerGroups requests. So supporting a set of states
> > > > isn't
> > > > > > > > entirely
> > > > > > > > > > worthless and it wouldn't really add very much complexity.
> > > > > > > > > >
> > > > > > > > > > Kind regards,
> > > > > > > > > >
> > > > > > > > > > Tom
> > > > > > > > > >
> > > > > > > > > > On Mon, Oct 21, 2019 at 5:54 PM Mickael Maison <
> > > > > > > > mickael.mai...@gmail.com>
> > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > Bump
> > > > > > > > > > > Now that the rush for 2.4.0 is ending I hope to get some
> > > > feedback
> > > > > > > > > > >
> > > > > > > > > > > Thanks
> > > > > > > > > > >
> > > > > > > > > > > On Mon, Sep 9, 2019 at 5:44 PM Mickael Maison <
> > > > > > > > mickael.mai...@gmail.com>
> > > > > > > > > > > wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Hi,
> > > > > > > > > > > >
> > > > > > > > > > > > I have created a KIP to allow listing groups per state:
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > >
> > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-518%3A+Allow+listing+consumer+groups+per+state
> > > > > > > > > > > >
> > > > > > > > > > > > Have a look and let me know what you think.
> > > > > > > > > > > > Thank you
> > > > > > > > > > >
> > > > > > > >
> > > > >
> > > >
> >

Reply via email to