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