[ 
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)

Reply via email to