You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Ryan P (JIRA)" <ji...@apache.org> on 2016/10/03 18:15:20 UTC

[jira] [Created] (KAFKA-4247) kafka-run-class has potential to add a leading colon to classpath

Ryan P created KAFKA-4247:
-----------------------------

             Summary: 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 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. 


 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)