kafka-jira mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Egerton (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-6417) plugin.path pointing at a plugin directory causes ClassNotFoundException
Date Tue, 27 Mar 2018 17:23:00 GMT

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

Chris Egerton commented on KAFKA-6417:

Just detecting a JAR file on a {{plugin.path}} directory isn't sufficient cause for alarm,
since uber JARs are supported for plugins. An alternative could be to log a warning if a JAR
file is detected in a {{plugin.path}} directory that doesn't contain any plugins. The warning
could read something like "Archive file <archive file> in plugin path directory <plugin
directory> does not contain any recognizable plugins and will not be used, even as a dependency
for other plugins in the same directory."

Not completely in love with that wording/criteria; in the event that your {{plugin.path}}
looks like {{/plugin/path,plugin/path/plugin1}}, non-plugin JARs found in the {{plugin/path/plugin1}}
directory will then be incorrectly flagged even though they can be used as dependencies for
{{plugin1}} since it is correctly formatted for use as a plugin in the {{/plugin/path}} directory.

[~cotedm], thoughts?

> 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

View raw message