[ https://issues.apache.org/jira/browse/KAFKA-9712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17058191#comment-17058191 ]
Nigel Liang edited comment on KAFKA-9712 at 3/12/20, 7:17 PM: -------------------------------------------------------------- I have concluded more testing. My conclusion is that any file on the plugin path that is either: # not a jar, or # a jar containing no classes will trigger the bug. Consequence is that connect worker will not be able to start up. Possible workarounds include but are not limited to: * Revert back to v0.9.11 * Switch to reflections8 fork similar to what is done here - [https://github.com/JanusGraph/janusgraph/pull/2029] * Try to catch and handle the exception by skipping the problematic file and continuing the scan was (Author: nigel.liang): I have concluded more testing. My conclusion is that any file on the plugin path that is either: # not a jar, or # a jar containing no classes will trigger the bug. Consequence is that connect worker will not be able to start up. Possible workarounds include but are not limited to: * Revert back to v0.9.11 * Switch to reflections8 fork similar to what is done here - [https://github.com/JanusGraph/janusgraph/pull/2029] * Try to catch and handle the exception by skipping the problematic file and continuing the scan > Reflections library 0.9.12 introduced in 2.5 causes regression scanning for > plugins on plugin_path > -------------------------------------------------------------------------------------------------- > > Key: KAFKA-9712 > URL: https://issues.apache.org/jira/browse/KAFKA-9712 > Project: Kafka > Issue Type: Bug > Affects Versions: 2.5.0 > Reporter: Nigel Liang > Priority: Major > > Reflections v0.9.12 was introduced in 2.5 branch to remove Guava dependency - > https://issues.apache.org/jira/browse/KAFKA-3061 > This version, however, contains a > [bug|https://github.com/ronmamo/reflections/issues/273] that will cause > regression when scanning for plugins if the `plugins_path` specified does not > contain valid plugins. The case where we were able to repro this, the > `plugins_path` was misconfigured to point to `~/.ssh` which contained > unrelated files but no plugins. Further testing is needed to figure out if it > will repro for other cases such as empty directory, combination of valid and > invalid plugins in directory, just some types of plugins and not others in > directory, etc. > {code} > [2020-03-12 18:07:01,045] INFO Loading plugin from: /home/ducker/.ssh > (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader) > [2020-03-12 18:07:01,047] DEBUG Loading plugin urls: [] > (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader) > [2020-03-12 18:07:01,062] ERROR Stopping due to error > (org.apache.kafka.connect.cli.ConnectDistributed) > org.reflections.ReflectionsException: Scanner SubTypesScanner was not > configured > at org.reflections.Store.get(Store.java:39) > at org.reflections.Store.get(Store.java:61) > at org.reflections.Store.get(Store.java:46) > at org.reflections.Store.getAll(Store.java:93) > at org.reflections.Reflections.getSubTypesOf(Reflections.java:404) > at > org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.getPluginDesc(DelegatingClassLoader.java:342) > at > org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanPluginPath(DelegatingClassLoader.java:327) > at > org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanUrlsAndAddPlugins(DelegatingClassLoader.java:260) > at > org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.registerPlugin(DelegatingClassLoader.java:252) > at > org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initPluginLoader(DelegatingClassLoader.java:221) > at > org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initLoaders(DelegatingClassLoader.java:198) > at > org.apache.kafka.connect.runtime.isolation.Plugins.<init>(Plugins.java:60) > at > org.apache.kafka.connect.cli.ConnectDistributed.startConnect(ConnectDistributed.java:91) > at > org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:78) > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)