hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Laurent Goujon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-12126) Configuration might use ApplicationClassLoader to create XML parser
Date Sat, 27 Jun 2015 02:29:04 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-12126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14603911#comment-14603911
] 

Laurent Goujon commented on HADOOP-12126:
-----------------------------------------

There are multiple places when we flip between classloaders, but none of them are covered
by test. One possible way to test would be to create a fake ClassLoader, set it as the context
classloader, and make sure it fails if someone tries to load the resource {{META-INF/services/javax.xml.parsers.DocumentBuilderFactory}}

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

Mime
View raw message