I also prefer B. In addition to being intuitive, it seems less error-prone
in the long term, though it might be a little annoying for clients
maintaining backwards compatibility.

-Jason

On Thu, Mar 31, 2016 at 1:24 PM, Ismael Juma <ism...@juma.me.uk> wrote:

> I prefer B, the fact that we version the protocol means that we can fix
> mistakes instead of living with them forever. We should take advantage of
> that.
>
> Ismael
>
> On Thu, Mar 31, 2016 at 9:15 PM, Grant Henke <ghe...@cloudera.com> wrote:
>
> > Looking for some resolution on the "No Topics" change.
> >
> > I am thinking that using null in the protocol isn't that complex, and it
> > avoids various edge cases with having multiple fields. That leaves us
> with
> > 2 options:
> >
> >    - A: null = no topics, empty = all topics
> >    - B: null = all topics, empty = no topics
> >
> > A is nice because it just adds new functionality, existing logic doesn't
> > change
> > B is nice because its more "intuitive", but has the drawback of changing
> > what empty means from request v0
> >
> > I do not have a strong opinion on the approach taken, which makes me lean
> > towards option A. Keep in mind at the user level, the apis in the various
> > clients can map this however they like.
> >
> > Does anyone feel strongly about the choice?
> >
> >
> >
> >
> >
> >
> >
> > On Thu, Mar 31, 2016 at 9:21 AM, Grant Henke <ghe...@cloudera.com>
> wrote:
> >
> > > I had a second look at the proposed changes to Metadata Request and
> > >> Response and it seems to me that having a `controller_id` field would
> be
> > >> more efficient for non-trivial cases than having a `is_controller`
> field
> > >>  for each broker (which would be false for all but 1 case).
> > >
> > >
> > > I agree this is better. I will update it.
> > >
> > > Similar, but less clear is the best way to encode `marked_for_deletion`
> > and
> > >> `is_internal`. These will also be false for most topics (there is only
> > one
> > >> internal topic at the moment, for example), so it may make sense to
> > have a
> > >> topics_marked_for_deletion and internal_topics in the response.
> Because
> > >> topics are identified by strings, it is not as clear-cut as the
> > >> controller_id case, but it still seems like it would be a win for when
> > it
> > >> matters most (when the number of topics is large).
> > >>
> > >
> > > Thats an interesting idea. I can try making this change to see what it
> > > would look like.
> > >
> > > Thanks,
> > > Grant
> > >
> > > On Thu, Mar 31, 2016 at 8:59 AM, Ismael Juma <ism...@juma.me.uk>
> wrote:
> > >
> > >> Hi Grant,
> > >>
> > >> I had a second look at the proposed changes to Metadata Request and
> > >> Response and it seems to me that having a `controller_id` field would
> be
> > >> more efficient for non-trivial cases than having a `is_controller`
> field
> > >>  for each broker (which would be false for all but 1 case).
> > >>
> > >> Similar, but less clear is the best way to encode
> `marked_for_deletion`
> > >> and
> > >> `is_internal`. These will also be false for most topics (there is only
> > one
> > >> internal topic at the moment, for example), so it may make sense to
> > have a
> > >> topics_marked_for_deletion and internal_topics in the response.
> Because
> > >> topics are identified by strings, it is not as clear-cut as the
> > >> controller_id case, but it still seems like it would be a win for when
> > it
> > >> matters most (when the number of topics is large).
> > >
> > >
> > >> Ismael
> > >>
> > >> On Mon, Mar 14, 2016 at 10:07 PM, Grant Henke <ghe...@cloudera.com>
> > >> wrote:
> > >>
> > >> > I have been updating the KIP-4 wiki page based on the last KIP call
> > and
> > >> > wanted to get some review and discussion around the server side
> > >> > implementation for admin requests. Both the "ideal" functionality
> and
> > >> the
> > >> > "intermediated" functionality. The updates are still in progress,
> but
> > >> this
> > >> > section is the most critical and will likely have the most
> discussion.
> > >> This
> > >> > topic has had a few shifts in perspective and various discussions on
> > >> > synchronous vs asynchronous server support. The wiki contains my
> > current
> > >> > perspective on the challenges and approach.
> > >> >
> > >> > If you have any thoughts or feedback on the "Server-side Admin
> Request
> > >> > handlers" section here
> > >> > <
> > >> >
> > >>
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-4+-+Command+line+and+centralized+administrative+operations#KIP-4-Commandlineandcentralizedadministrativeoperations-2.Server-sideAdminRequesthandlers
> > >> > >.
> > >> > Lets discuss them in this thread.
> > >> >
> > >> > For reference the last KIP discussion can be viewed here:
> > >> > https://youtu.be/rFW0-zJqg5I?t=12m30s
> > >> >
> > >> > Thank you,
> > >> > Grant
> > >> > --
> > >> > Grant Henke
> > >> > Software Engineer | Cloudera
> > >> > gr...@cloudera.com | twitter.com/gchenke |
> linkedin.com/in/granthenke
> > >> >
> > >>
> > >
> > >
> > >
> > > --
> > > Grant Henke
> > > Software Engineer | Cloudera
> > > gr...@cloudera.com | twitter.com/gchenke | linkedin.com/in/granthenke
> > >
> >
> >
> >
> > --
> > Grant Henke
> > Software Engineer | Cloudera
> > gr...@cloudera.com | twitter.com/gchenke | linkedin.com/in/granthenke
> >
>

Reply via email to