Thanks for the feedback,

I added an example request/response for SMTs, and I thought about your
suggestion re:deprecation and am now explicitly proposing to mark the
existing endpoint as deprecated, though I don't anticipate the need to
remove it will arise any time soon!

Cyrus

On Fri, Jun 4, 2021 at 7:35 PM Konstantine Karantasis
<konstant...@confluent.io.invalid> wrote:

> Hi Cyrus.
>
> The proposal looks good and I like the API spec definition the way it's
> presented.
>
> Having said that, a few examples that would list the request type and body,
> the returned status and the json response would be nice too, following the
> tradition of other KIPs.
>
> See
>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-745%3A+Connect+API+to+restart+connector+and+tasks
> for a recent example.
>
> I also see there's no mention regarding the future of the current
> `/connector-plugins` endpoint or any deprecation plans.
>
> I think we should make our intentions clear in the KIP itself
> which introduces the new endpoint as a superset of the old one, beyond the
> discussion in this thread, for future readers.
> Also, I think it's useful to keep in mind that deprecation doesn't
> necessarily mean imminent removal. The next opportunity to remove this end
> point would be the next major release at the earliest.
>
> Regards,
> Konstantine
>
>
> On Mon, Apr 19, 2021 at 10:13 AM Cyrus Vafadari <cvafad...@gmail.com>
> wrote:
>
> > Thanks! Anyone else from the community with final thoughts before going
> to
> > vote?
> >
> > On Mon, Apr 19, 2021 at 4:16 AM Tom Bentley <tbent...@redhat.com> wrote:
> >
> > > Hi Cyrus,
> > >
> > > That seems reasonable to me.
> > >
> > > On Thu, Apr 15, 2021 at 6:44 PM Cyrus Vafadari <cvafad...@gmail.com>
> > > wrote:
> > >
> > > > What do you think of "type" field remaining in, and returning
> > > > "transformation", "converter" or whatever type it is. This way the
> > schema
> > > > remains consistent, and you can programmatically understand what
> > plugins
> > > > are returned on the holistic "GET /plugins" endpoint? It will be
> > slightly
> > > > redundant in the case where you specify the plugin-type as a path
> > > > parameter.
> > > >
> > > > On Thu, Apr 15, 2021 at 1:13 PM Tom Bentley <tbent...@redhat.com>
> > wrote:
> > > >
> > > > > Hi Cyrus,
> > > > >
> > > > > Re 2: A very minor thing but while type=source|sink for a
> connector,
> > it
> > > > > doesn't makes sense for the other plugin types, but so the json for
> > > those
> > > > > plugins should omit that property rather than have type=null.
> > > > >
> > > > > Apart from that it seems reasonable to me. Thanks again,
> > > > >
> > > > > Tom
> > > > >
> > > > > On Thu, Apr 15, 2021 at 3:49 PM Cyrus Vafadari <
> cvafad...@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > Hi Tom,
> > > > > >
> > > > > > Thanks for taking the time to respond with thoughtful questions:
> > > > > >
> > > > > > 1. I propose HTTP-400, will update the KIP to reflect this
> proposal
> > > > > > 2. I think the schema should be of the same format. It is quite
> > > > minimal,
> > > > > so
> > > > > > there is room to add fields in the future without breaking
> > > > compatibility.
> > > > > > I will update the KIP to specify.
> > > > > > 3. Yes, that's right.
> > > > > > 4. I personally don't see the value in deprecating since it's a
> > > simple
> > > > > > alias (interface and impl will both be simple changes). I would
> be
> > > > > > comfortable kicking that can down the road if/when there is a
> need
> > > for
> > > > an
> > > > > > actual breaking change. That way we can keep the scope and diff
> > here
> > > > > tight.
> > > > > > But iff the community feels strongly that deprecating is the
> right
> > > > thing
> > > > > to
> > > > > > do, I'm happy to update the KIP to propose deprecating.
> > > > > >
> > > > > > Thanks again!
> > > > > >
> > > > > > On Wed, Apr 14, 2021 at 9:38 AM Tom Bentley <tbent...@redhat.com
> >
> > > > wrote:
> > > > > >
> > > > > > > Hi Cyrus,
> > > > > > >
> > > > > > > Thanks for the KIP. A few questions:
> > > > > > >
> > > > > > > 1. What status code does the /plugins/{plugin-type} endpoint
> > return
> > > > > when
> > > > > > an
> > > > > > > unknown type is given?
> > > > > > > 2. The result of /connector-plugins is a list of objects with
> > > > 'class',
> > > > > > > 'type' and 'version' properties. Presumably /plugins/connector
> is
> > > the
> > > > > > same,
> > > > > > > but what is the schema for the other plugin types?
> > > > > > > 3. You're not proposing an equivalent of the
> > > > > > > /connector-plugins/{connectorType}/config/validate endpoint for
> > > > > > > non-connector types, which I think makes sense, because you
> would
> > > > > > validate
> > > > > > > an SMT's config via its used by a connector, so the existing
> > > endpoint
> > > > > > > suffices, right?
> > > > > > > 4. Would /connector-plugins eventually be deprecated in favour
> of
> > > > > > > /plugins/connector, or do we expect it to remain in the API
> > > > > indefinitely
> > > > > > > and accept that /connector-plugins and /plugins/connector
> provide
> > > > > > identical
> > > > > > > responses? If we had the intention to deprecate in the future
> > maybe
> > > > we
> > > > > > > should add a /plugins/connector/config/validate endpoint now?
> > > > > > >
> > > > > > > Many thanks,
> > > > > > >
> > > > > > > Tom
> > > > > > >
> > > > > > > On Tue, Apr 13, 2021 at 6:46 PM Cyrus Vafadari <
> > > cvafad...@gmail.com>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hello all,
> > > > > > > >
> > > > > > > > As the number of connect plugins, SMT's, etc have grown, I
> > wanted
> > > > to
> > > > > > bump
> > > > > > > > this thread to see if there is more interest in adding a
> > Connect
> > > > REST
> > > > > > > > endpoint to get the current plugins in the worker.
> > > > > > > >
> > > > > > > > Thanks all, and thanks Chris for the initial feedback on
> this.
> > > > > > > >
> > > > > > > > On Mon, Feb 17, 2020 at 12:56 PM Cyrus Vafadari <
> > > > cvafad...@gmail.com
> > > > > >
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Thanks for the feedback, Chris.
> > > > > > > > >
> > > > > > > > > WRT Worker-plugins, I see your point that they aren't very
> > > useful
> > > > > for
> > > > > > > > > people trying to create connectors to see what exists
> > already,
> > > > but
> > > > > I
> > > > > > > > would
> > > > > > > > > find them useful for things like making assertions against
> a
> > > > docker
> > > > > > > image
> > > > > > > > > to confirm the pluginpaths/classpaths are configured
> > correctly.
> > > > It
> > > > > is
> > > > > > > > more
> > > > > > > > > useful for "sanity check" kinds of things than
> > > > exploring/browsing.
> > > > > > That
> > > > > > > > > said, I don't feel too strongly and if more feedback from
> the
> > > > > > community
> > > > > > > > > thinks they are better excluded then we can remove them.
> > > > > > > > >
> > > > > > > > > WRT camelCase vs hyphens, I see your point here, will
> update
> > > the
> > > > > KIP.
> > > > > > > > >
> > > > > > > > > WRT compatibility -- Good question -- I would expect that
> > yes,
> > > > new
> > > > > > > > plugins
> > > > > > > > > would match this format. I will add this explicitly in the
> > KIP
> > > > for
> > > > > > > > clarity.
> > > > > > > > > I do think it's a valuable, simple feature to have the
> worker
> > > > able
> > > > > to
> > > > > > > > > report new plugins.
> > > > > > > > >
> > > > > > > > > Thanks again!
> > > > > > > > >
> > > > > > > > > On Wed, Feb 12, 2020 at 4:44 PM Christopher Egerton <
> > > > > > > chr...@confluent.io
> > > > > > > > >
> > > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > >> Hi Cyrus,
> > > > > > > > >>
> > > > > > > > >> Thanks for the KIP!
> > > > > > > > >>
> > > > > > > > >> One quick question--I see the use case for being able to
> > list
> > > > > > > > >> per-connector
> > > > > > > > >> plugins (SMTs, converters, and header converters) via REST
> > > API,
> > > > > but
> > > > > > > I'm
> > > > > > > > >> not
> > > > > > > > >> so sure about worker plugins (REST extensions and config
> > > > > providers).
> > > > > > > > Since
> > > > > > > > >> those are configured at startup for the worker, is there
> any
> > > > > > advantage
> > > > > > > > to
> > > > > > > > >> being able to see the worker plugins available on a
> running
> > > > > worker?
> > > > > > > It's
> > > > > > > > >> not like they can be added during the lifetime of that
> > worker,
> > > > and
> > > > > > > that
> > > > > > > > >> information wouldn't be useful to anyone trying to create
> a
> > > > > > connector
> > > > > > > as
> > > > > > > > >> they wouldn't be able to include worker plugins in a
> > connector
> > > > > > config
> > > > > > > > >> anyways.
> > > > > > > > >>
> > > > > > > > >> And a small nit--it seems like the precedent set
> > > > ever-so-slightly
> > > > > by
> > > > > > > the
> > > > > > > > >> /connector-plugins resource is to use a hyphen to
> separate a
> > > > > series
> > > > > > of
> > > > > > > > >> lowercase words in an endpoint path as opposed to camel
> case
> > > > with
> > > > > > > > >> capitalization. What do you think about changing the
> > possible
> > > > > plugin
> > > > > > > > types
> > > > > > > > >> to "connector", "converter", "header-converter", etc.?
> > > > > > > > >>
> > > > > > > > >> One final question about forwards compatibility--the
> > > description
> > > > > for
> > > > > > > the
> > > > > > > > >> /plugins endpoint indicates that it "Returns plugin
> > > descriptions
> > > > > of
> > > > > > > all
> > > > > > > > >> types". If another type of pluggable component is added to
> > the
> > > > > > > > framework,
> > > > > > > > >> should we expect this endpoint to be updated to include
> that
> > > > type
> > > > > of
> > > > > > > > >> plugin
> > > > > > > > >> as well? And if so, should we also expect a matching
> > > > > > > > /plugins/{pluginType}
> > > > > > > > >> endpoint to be added?
> > > > > > > > >>
> > > > > > > > >> Cheers,
> > > > > > > > >>
> > > > > > > > >> Chris
> > > > > > > > >>
> > > > > > > > >> On Fri, Sep 6, 2019 at 11:48 AM Cyrus Vafadari <
> > > > > cy...@confluent.io>
> > > > > > > > >> wrote:
> > > > > > > > >>
> > > > > > > > >> > I've updated the KIP here to simplify and clarify the
> goal
> > > --
> > > > > > it's a
> > > > > > > > >> pretty
> > > > > > > > >> > simple KIP to add a REST endpoint for SMTs and other
> > > plugins.
> > > > > This
> > > > > > > > will
> > > > > > > > >> > make it easier to see what SMTs you've loaded.
> > > > > > > > >> >
> > > > > > > > >> > Hoping for some good discussion!
> > > > > > > > >> >
> > > > > > > > >> > Thanks, all
> > > > > > > > >> >
> > > > > > > > >> > On Sat, Jul 20, 2019 at 9:07 PM Cyrus Vafadari <
> > > > > > cy...@confluent.io>
> > > > > > > > >> wrote:
> > > > > > > > >> >
> > > > > > > > >> > > Hello, all,
> > > > > > > > >> > >
> > > > > > > > >> > > I'd like to start discussion on a new KIP I'm
> proposing
> > to
> > > > add
> > > > > > > HTTP
> > > > > > > > >> > > endpoints to Kafka Connect to give us some more
> insight
> > > into
> > > > > > other
> > > > > > > > >> > > non-connector plugins, like Simple Message
> > Transformations
> > > > > > (SMTs).
> > > > > > > > The
> > > > > > > > >> > KIP
> > > > > > > > >> > > would not change how Connect works in any meaningful
> way
> > > > > except
> > > > > > to
> > > > > > > > >> expose
> > > > > > > > >> > > some more data by the endpoint, analogous to existing
> > > > > > > > >> > > "ConnectorPluginsResource" class.
> > > > > > > > >> > >
> > > > > > > > >> > > Looking forward to getting some feedback.
> > > > > > > > >> > >
> > > > > > > > >> > > Cyrus
> > > > > > > > >> > >
> > > > > > > > >> > >
> > > > > > > > >> > >
> > > > > > > > >> >
> > > > > > > > >>
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-494%3A+Connect+REST+Endpoint+for+Transformations+%28SMTs%29+and+other+Plugins
> > > > > > > > >> > >
> > > > > > > > >> >
> > > > > > > > >>
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to