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)