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)