[ 
https://issues.apache.org/jira/browse/KAFKA-6417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16416143#comment-16416143
 ] 

Dustin Cote commented on KAFKA-6417:
------------------------------------

[~ChrisEgerton] I think the problem with this is that in practice you could 
have so many jars that also match this criteria that the log becomes chatty and 
the message gets missed (this happens a lot with the ProducerConfig and 
ConsumerConfig warnings that pop out). There would probably be a lot of false 
positives here. 

One thought I have is to enforce an easy to understand policy that no jars are 
allowed at all directly underĀ {{plugin.path}} and just crash the worker saying 
so to "fail fast" in the event someone isn't following convention. That would 
require uber jar users to make a top level directory to contain their jar which 
may be a little annoying but would be easy to understand. This doesn't seem 
like a severe penalty in general considering the real usage pattern but would 
absolutely have compatibility issues with what exists out there today (on 
upgrade you may see trouble). Alternatively, failing an individual connector 
might work too, but I don't know how that would go in practice.

> plugin.path pointing at a plugin directory causes ClassNotFoundException
> ------------------------------------------------------------------------
>
>                 Key: KAFKA-6417
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6417
>             Project: Kafka
>          Issue Type: Bug
>          Components: KafkaConnect
>    Affects Versions: 1.0.0
>            Reporter: Dustin Cote
>            Priority: Major
>
> When using the {{plugin.path}} configuration for the Connect workers, the 
> user is expected to specify a list containing the following per the docs:
> {quote}
> The list should consist of top level directories that include any combination 
> of: a) directories immediately containing jars with plugins and their 
> dependencies b) uber-jars with plugins and their dependencies c) directories 
> immediately containing the package directory structure of classes of plugins 
> and their dependencies 
> {quote}
> This means we would expect {{plugin.path=/usr/share/plugins}} for a structure 
> like {{/usr/share/plugins/myplugin1}},{{/usr/share/plugins/myplugin2}}, etc. 
> However if you specify {{plugin.path=/usr/share/plugins/myplugin1}} the 
> resulting behavior is that dependencies for {{myplugin1}} are not properly 
> loaded. This causes a {{ClassNotFoundException}} that is not intuitive to 
> debug. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to