No worries Chris - I understand what you are getting at. I will pursue updating the current REST API.
Cheers, Ashwin On Fri, Jun 24, 2022 at 8:57 AM Chris Egerton <fearthecel...@gmail.com> wrote: > Hi Ashwin, > > I just want to be clear that I do think there might be some value to being > able to address the edge case you've raised; I just want to understand > exactly what users might do with that information. Driving a programmatic > UI with a dropdown menu for selecting header/key/value converters could be > one such use case, for example. > > If we do decide to tweak the REST API to expose multiple types for classes > that implement multiple plugins, we'll still need a KIP for that, and I'd > be happy to review if you wanted to pursue that. I'm also not dead-set > against the filter API you've proposed, I just don't know of any cases yet > where the implementation cost would be outweighed by potential benefit to > users. > > I don't want to sound unwelcoming, especially since this is a newbie task. > Hope this has been helpful so far, and thank you for your interest in > contributing to Kafka Connect! > > Cheers, > > Chris > > On Thu, Jun 23, 2022 at 11:16 PM Ashwin <apan...@confluent.io.invalid> > wrote: > > > Hi Chris, > > > > Sure, if JIRA is obsolete and does not add value, I am fine with > abandoning > > this change. > > I will close the JIRA as well. > > Thanks for helping out! > > > > Ashwin > > > > On Fri, Jun 24, 2022 at 4:23 AM Chris Egerton <fearthecel...@gmail.com> > > wrote: > > > > > Hi Ashwin, > > > > > > Thanks for the clarification, which is certainly useful. However, it's > > not > > > an actual use case. What will users try to do now that would have been > > > difficult/impossible in the future because of this ambiguity? I ask > > because > > > the Jira ticket linked in the KIP is very old and may be obsolete, and > > > there seems to be a much simpler way to address the edge case of a > class > > > implementing multiple plugin interfaces: we can just expose each type > in > > > the REST API, instead of picking one at random. > > > > > > Cheers, > > > > > > Chris > > > > > > On Thu, Jun 23, 2022 at 12:55 AM Ashwin <apan...@confluent.io.invalid> > > > wrote: > > > > > > > Hi Chris, > > > > > > > > Thanks for the quick response. > > > > > > > > > It seems pretty straightforward to get this via client-side > filtering > > > > > > > > I assume that you meant GET /collector-plugins + jq filtering on > type > > > > attribute. > > > > > > > > One issue that I see with that approach is that we cannot filter > > plugins > > > if > > > > they implement more than one of Converter, HeaderConverter, Sink, > > Source > > > > interfaces. > > > > > > > > The type field in PluginDesc field is set based on the order of enum > > > values > > > > in PluginType - > > > > > > > > > > > > > > https://github.com/apache/kafka/blob/22534424d22e5a4d4d512b0ac1b5f312b867a5bf/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginType.java#L49 > > > > . > > > > > > > > Eg: org.apache.kafka.connect.json.JsonConverter implements both > > Converter > > > > and HeaderConverter interfaces, but the type value is always set to > > > > Converter as that value is defined first in PluginType enum. > > > > > > > > The new API will list JsonConverter when we query either for > > > > HeaderConverter or Converter plugin types. > > > > > > > > Thanks, > > > > Ashwin > > > > > > > > > > > > On Thu, Jun 23, 2022 at 12:03 AM Chris Egerton < > > fearthecel...@gmail.com> > > > > wrote: > > > > > > > > > Hi Ashwin, > > > > > > > > > > Can you provide a use case for this new behavior? It seems pretty > > > > > straightforward to get this via client-side filtering, I'm a little > > > > > skeptical that we need to implement it server-side. > > > > > > > > > > Cheers, > > > > > > > > > > Chris > > > > > > > > > > On Wed, Jun 22, 2022 at 4:25 AM Ashwin > <apan...@confluent.io.invalid > > > > > > > > wrote: > > > > > > > > > > > Hello Folks, > > > > > > > > > > > > I have picked up a newbie task and request you provide your > > valuable > > > > > > feedback. > > > > > > > > > > > > KIP: > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-850%3A+REST+API+for+filtering+Connector+plugins+by+type > > > > > > Initial PR: https://github.com/apache/kafka/pull/12330 > > > > > > > > > > > > Though https://issues.apache.org/jira/browse/KAFKA-4279 was for > an > > > > > > endpoint > > > > > > to list converter plugins, I propose that we implement a generic > > > > "filter" > > > > > > API which will list connector plugins matched by type (one of > > > > > > SOURCE,SINK,CONVERTER,HEADER_CONVERTER). > > > > > > > > > > > > > > > > > > Thanks, > > > > > > Ashwin > > > > > > > > > > > > > > > > > > > > >