You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Himanshu (JIRA)" <ji...@apache.org> on 2015/07/10 05:28:04 UTC

[jira] [Created] (HDFS-8750) FIleSystem does not honor Configuration.getClassLoader() while loading FileSystem implementations

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)