[ https://issues.apache.org/jira/browse/HADOOP-12126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14604410#comment-14604410 ]
Gera Shegalov commented on HADOOP-12126: ---------------------------------------- I agree that loading {{DocumentBuilderFactory}} has to be fixed, however, it should respect the {{classloader}} instance variable of {{Configuration}} instead of blindly resorting to {{Configuration.class.getClassloader()}}. By default, the {{classloader}} instance variable will point to ApplicationClassLoader. Thus we still have a problem that has to be resolved outside the configuration class in the {{ApplicationClassLoader}} of the app. > Configuration might use ApplicationClassLoader to create XML parser > ------------------------------------------------------------------- > > Key: HADOOP-12126 > URL: https://issues.apache.org/jira/browse/HADOOP-12126 > Project: Hadoop Common > Issue Type: Bug > Components: conf > Reporter: Laurent Goujon > Assignee: Laurent Goujon > Attachments: HADOOP-12126.001.patch, HADOOP-12126.002.patch, > HADOOP-12126.003.patch > > > {{org.apache.hadoop.conf.Configuration}} creates a new DocumentBuilder to > parse the XML config files, but it doesn't specify which classloader to use > to discover and instantiate the XML parser. > Because DocumentBuilderFactory relies on ServiceProvider, whose by default, > uses the context classloader. If classpath isolation is turned on, one might > expect that that Configuration will only load classes from the system > classloader, but it turns out that the context classloader is set to > ApplicationClassLoader, and that a XML parser might be loaded from the user > classpath. -- This message was sent by Atlassian JIRA (v6.3.4#6332)