+1 (non-binding)

Thanks.
Ryanne

On Tue, Jun 25, 2019 at 10:21 PM Satish Duggana <satish.dugg...@gmail.com>
wrote:

> +1 (non-binding)
>
> On Wed, Jun 26, 2019 at 8:37 AM Satish Duggana <satish.dugg...@gmail.com>
> wrote:
> >
> > +1 Matthias/Andy.
> > IMHO, interface is about the contract, it should not have/expose any
> > implementation. I am fine with either way as it is more of taste or
> > preference.
> >
> > Agree with Ismael/Colin/Ryanne on not deprecating for good reasons.
> >
> >
> > On Mon, Jun 24, 2019 at 8:33 PM Andy Coates <a...@confluent.io> wrote:
> > >
> > > I agree Matthias.
> > >
> > > (In Scala, such factory methods are on a companion object. As Java
> doesn't
> > > have the concept of a companion object, an equivalent would be a
> utility
> > > class with a similar name...)
> > >
> > > However, I'll update the KIP to include the factory method on the
> interface.
> > >
> > > On Fri, 21 Jun 2019 at 23:40, Matthias J. Sax <matth...@confluent.io>
> wrote:
> > >
> > > > I still think, that an interface does not need to know anything about
> > > > its implementation. But I am also fine if we add a factory method to
> the
> > > > new interface if that is preferred by most people.
> > > >
> > > >
> > > > -Matthias
> > > >
> > > > On 6/21/19 7:10 AM, Ismael Juma wrote:
> > > > > This is even more reason not to deprecate immediately, there is
> very
> > > > little
> > > > > maintenance cost for us. We should be mindful that many of our
> users (eg
> > > > > Spark, Flink, etc.) typically allow users to specify the kafka
> clients
> > > > > version and hence avoid using new classes/interfaces for some
> time. They
> > > > > would get a bunch of warnings they cannot do anything about apart
> from
> > > > > suppressing.
> > > > >
> > > > > Ismael
> > > > >
> > > > > On Fri, Jun 21, 2019 at 4:00 AM Andy Coates <a...@confluent.io>
> wrote:
> > > > >
> > > > >> Hi Ismael,
> > > > >>
> > > > >> I’m happy enough to not deprecate the existing `AdminClient`
> class as
> > > > part
> > > > >> of this change.
> > > > >>
> > > > >> However, note that, the class will likely be empty, i.e. all
> methods and
> > > > >> implementations will be inherited from the interface:
> > > > >>
> > > > >> public abstract class AdminClient implements Admin {
> > > > >> }
> > > > >>
> > > > >> Not marking it as deprecated has the benefit that users won’t see
> any
> > > > >> deprecation warnings on the next release. Conversely, deprecating
> it
> > > > will
> > > > >> mean we can choose to remove this, now pointless class, in the
> future
> > > > if we
> > > > >> choose.
> > > > >>
> > > > >> That’s my thinking for deprecation, but as I’ve said I’m happy
> either
> > > > way.
> > > > >>
> > > > >> Andy
> > > > >>
> > > > >>> On 18 Jun 2019, at 16:09, Ismael Juma <ism...@juma.me.uk> wrote:
> > > > >>>
> > > > >>> I agree with Ryanne, I think we should avoid deprecating
> AdminClient
> > > > and
> > > > >>> causing so much churn for users who don't actually care about
> this
> > > > niche
> > > > >>> use case.
> > > > >>>
> > > > >>> Ismael
> > > > >>>
> > > > >>> On Tue, Jun 18, 2019 at 6:43 AM Andy Coates <a...@confluent.io>
> wrote:
> > > > >>>
> > > > >>>> Hi Ryanne,
> > > > >>>>
> > > > >>>> If we don't change the client code, then everywhere will still
> expect
> > > > >>>> subclasses of `AdminClient`, so the interface will be of no
> use, i.e.
> > > > I
> > > > >>>> can't write a class that implements the new interface and pass
> it to
> > > > the
> > > > >>>> client code.
> > > > >>>>
> > > > >>>> Thanks,
> > > > >>>>
> > > > >>>> Andy
> > > > >>>>
> > > > >>>> On Mon, 17 Jun 2019 at 19:01, Ryanne Dolan <
> ryannedo...@gmail.com>
> > > > >> wrote:
> > > > >>>>
> > > > >>>>> Andy, while I agree that the new interface is useful, I'm not
> > > > convinced
> > > > >>>>> adding an interface requires deprecating AdminClient and
> changing so
> > > > >> much
> > > > >>>>> client code. Why not just add the Admin interface, have
> AdminClient
> > > > >>>>> implement it, and have done?
> > > > >>>>>
> > > > >>>>> Ryanne
> > > > >>>>>
> > > > >>>>> On Mon, Jun 17, 2019 at 12:09 PM Andy Coates <
> a...@confluent.io>
> > > > >> wrote:
> > > > >>>>>
> > > > >>>>>> Hi all,
> > > > >>>>>>
> > > > >>>>>> I think I've addressed all concerns. Let me know if I've
> not.  Can I
> > > > >>>> call
> > > > >>>>>> another round of votes please?
> > > > >>>>>>
> > > > >>>>>> Thanks,
> > > > >>>>>>
> > > > >>>>>> Andy
> > > > >>>>>>
> > > > >>>>>> On Fri, 14 Jun 2019 at 04:55, Satish Duggana <
> > > > >> satish.dugg...@gmail.com
> > > > >>>>>
> > > > >>>>>> wrote:
> > > > >>>>>>
> > > > >>>>>>> Hi Andy,
> > > > >>>>>>> Thanks for the KIP. This is a good change and it gives the
> user a
> > > > >>>>> better
> > > > >>>>>>> handle on Admin client usage. I agree with the proposal
> except the
> > > > >>>> new
> > > > >>>>>>> `Admin` interface having all the methods from `AdminClient`
> > > > abstract
> > > > >>>>>> class.
> > > > >>>>>>> It should be kept clean having only the admin operations as
> methods
> > > > >>>>> from
> > > > >>>>>>> KafkaClient abstract class but not the factory methods as
> mentioned
> > > > >>>> in
> > > > >>>>>> the
> > > > >>>>>>> earlier mail.
> > > > >>>>>>>
> > > > >>>>>>> I know about dynamic proxies(which were widely used in
> RMI/EJB
> > > > >>>> world).
> > > > >>>>> I
> > > > >>>>>> am
> > > > >>>>>>> curious about the usecase using dynamic proxies with Admin
> client
> > > > >>>>>>> interface. Dynamic proxy can have performance penalty if it
> is used
> > > > >>>> in
> > > > >>>>>>> critical path. Is that the primary motivation for creating
> the KIP?
> > > > >>>>>>>
> > > > >>>>>>> Thanks,
> > > > >>>>>>> Satish.
> > > > >>>>>>>
> > > > >>>>>>> On Wed, Jun 12, 2019 at 8:43 PM Andy Coates <
> a...@confluent.io>
> > > > >>>> wrote:
> > > > >>>>>>>
> > > > >>>>>>>> I'm not married to that part.  That was only done to keep
> it more
> > > > >>>> or
> > > > >>>>>> less
> > > > >>>>>>>> inline with what's already there, (an abstract class that
> has a
> > > > >>>>> factory
> > > > >>>>>>>> method that returns a subclass.... sounds like the same
> > > > >>>> anti-pattern
> > > > >>>>>> ;))
> > > > >>>>>>>>
> > > > >>>>>>>> An alternative would to have an `AdminClients` utility
> class to
> > > > >>>>> create
> > > > >>>>>>> the
> > > > >>>>>>>> admin client.
> > > > >>>>>>>>
> > > > >>>>>>>> On Mon, 10 Jun 2019 at 19:31, Matthias J. Sax <
> > > > >>>> matth...@confluent.io
> > > > >>>>>>
> > > > >>>>>>>> wrote:
> > > > >>>>>>>>
> > > > >>>>>>>>> Hmmm...
> > > > >>>>>>>>>
> > > > >>>>>>>>> So the new interface, returns an instance of a class that
> > > > >>>>> implements
> > > > >>>>>>> the
> > > > >>>>>>>>> interface. This sounds a little bit like an anti-pattern?
> > > > >>>> Shouldn't
> > > > >>>>>>>>> interfaces actually not know anything about classes that
> > > > >>>> implement
> > > > >>>>>> the
> > > > >>>>>>>>> interface?
> > > > >>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>>> -Matthias
> > > > >>>>>>>>>
> > > > >>>>>>>>> On 6/10/19 11:22 AM, Andy Coates wrote:
> > > > >>>>>>>>>> `AdminClient` would be deprecated purely because it would
> no
> > > > >>>>> longer
> > > > >>>>>>>> serve
> > > > >>>>>>>>>> any purpose and would be virtually empty, getting all of
> its
> > > > >>>>>>>>> implementation
> > > > >>>>>>>>>> from the new interfar. It would be nice to remove this
> from the
> > > > >>>>> API
> > > > >>>>>>> at
> > > > >>>>>>>>> the
> > > > >>>>>>>>>> next major version bump, hence the need to deprecate.
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> `AdminClient.create()` would return what it does today,
> (so
> > > > >>>> not a
> > > > >>>>>>>>> breaking
> > > > >>>>>>>>>> change).
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> On Tue, 4 Jun 2019 at 22:24, Ryanne Dolan <
> > > > >>>> ryannedo...@gmail.com
> > > > >>>>>>
> > > > >>>>>>>> wrote:
> > > > >>>>>>>>>>
> > > > >>>>>>>>>>>> The existing `AdminClient` will be marked as deprecated.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> What's the reasoning behind this? I'm fine with the other
> > > > >>>>> changes,
> > > > >>>>>>> but
> > > > >>>>>>>>>>> would prefer to keep the existing public API intact if
> it's
> > > > >>>> not
> > > > >>>>>>>> hurting
> > > > >>>>>>>>>>> anything.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> Also, what will AdminClient.create() return? Would it be
> a
> > > > >>>>>> breaking
> > > > >>>>>>>>> change?
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> Ryanne
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> On Tue, Jun 4, 2019, 11:17 AM Andy Coates <
> a...@confluent.io>
> > > > >>>>>>> wrote:
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>>> Hi folks
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> As there's been no chatter on this KIP I'm assuming it's
> > > > >>>>>>>>> non-contentious,
> > > > >>>>>>>>>>>> (or just boring), hence I'd like to call a vote for
> KIP-476:
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>>
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > > >>>>
> > > > >>
> > > >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-476%3A+Add+Java+AdminClient+Interface
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> Thanks,
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> Andy
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>>
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > > >>>>
> > > > >>
> > > > >>
> > > > >
> > > >
> > > >
>

Reply via email to