Himanshu created HDFS-8750:
------------------------------

             Summary: FIleSystem does not honor Configuration.getClassLoader() 
while loading FileSystem implementations
                 Key: HDFS-8750
                 URL: https://issues.apache.org/jira/browse/HDFS-8750
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: fs, HDFS
            Reporter: Himanshu


In FileSystem.loadFileSystems(), at 
https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java#L2652

a "scheme" -> "FileSystem implementation" map is created from the jars 
available on classpath. It uses Thread.currentThread().getClassLoader() via 
ServiceLoader.load(FileSystem.class)

Instead, loadFileSystems() should take Configuration as an argument and should 
first check if a classloader is configured in configuration.getClassLoader(), 
if yes then ServiceLoader.load(FileSystem.class, 
configuration.getClassLoader()) should be used.



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

Reply via email to