[ https://issues.apache.org/jira/browse/KAFKA-4247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ryan P updated KAFKA-4247: -------------------------- Description: https://github.com/confluentinc/kafka/blob/trunk/bin/kafka-run-class.sh#L128-L133 In the event CLASSPATH has not yet been populated this will result in :$file Normally this wouldn't be a problem however Connect's AbstractClassHearder uses ClasspathHelper.forJavaClassPath() to collect it's eligible classes. With a leading colon you will endup with a entry for null which is expanded to the working directory. java -cp ":" test [] java -cp ":Users" test [file:/Users/ryan/, file:/Users/ryan/Users] This is problematic if the script was run from the root directory since Reflections will scan the directories recursively. Ultimately leading to a situation where the entire FileSystem is scanned. This has proven problematic for some Docker installations. Typically this is worked around by editing the the kafka-run-class script however I think we should handle this within Connect itself by excluding the root directory. was: https://github.com/confluentinc/kafka/blob/trunk/bin/kafka-run-class.sh#L128-L133 In the event CLASSPATH has not yet been populated this will result in :$file Normally this wouldn't be a problem however Connect's AbstractClassHearder uses ClasspathHelper.forJavaClassPath() to collect it's eligible classes. With a leading Colon you will endup with builder[0] = null which translates to the working directory. java -cp ":" test [] java -cp ":Users" test [file:/Users/ryan/, file:/Users/ryan/Users] This is problematic if the script was run from the root directory since Reflections will scan the directories recursively. Ultimately leading to a situation where the entire FileSystem is scanned. This has proven problematic for some Docker installations. Typically this is worked around by editing the the kafka-run-class script however I think we should handle this within Connect itself by excluding the root directory. > kafka-run-class has potential to add a leading colon to classpath > ----------------------------------------------------------------- > > Key: KAFKA-4247 > URL: https://issues.apache.org/jira/browse/KAFKA-4247 > Project: Kafka > Issue Type: Bug > Components: KafkaConnect > Reporter: Ryan P > Assignee: Ryan P > > https://github.com/confluentinc/kafka/blob/trunk/bin/kafka-run-class.sh#L128-L133 > In the event CLASSPATH has not yet been populated this will result in > :$file > Normally this wouldn't be a problem however Connect's AbstractClassHearder > uses ClasspathHelper.forJavaClassPath() to collect it's eligible classes. > With a leading colon you will endup with a entry for null which is expanded > to the working directory. > java -cp ":" test > [] > java -cp ":Users" test > [file:/Users/ryan/, file:/Users/ryan/Users] > This is problematic if the script was run from the root directory since > Reflections will scan the directories recursively. Ultimately leading to a > situation where the entire FileSystem is scanned. This has proven problematic > for some Docker installations. > Typically this is worked around by editing the the kafka-run-class script > however I think we should handle this within Connect itself by excluding the > root directory. > -- This message was sent by Atlassian JIRA (v6.3.4#6332)