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