[
https://issues.apache.org/jira/browse/HADOOP-13070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15263269#comment-15263269
]
Sangjin Lee commented on HADOOP-13070:
--------------------------------------
I had an offline meeting with Sean and Andrew a while back. Filing an issue
belatedly to make some progress.
The basic premise is that we have the {{ApplicationClassLoader}} that gets us
fairly close to where we want to be without introducing a whole lot of
complication with little additional benefit. We should strengthen it and make
it stricter to close the gap. And as part of the process, we can correct and
revisit some of the pain points in terms of classpath isolation by making some
backward-incompatible changes.
I'll post a proposal some time soon. Here are the key ideas that I have at this
point (in no priority order):
- "fix/deprecate/remove" {{Configuration.setClassLoader()}}: causes a big
anti-pattern that allows unsafe sharing and overwriting of classloaders
- make {{ApplicationClassLoader}} stricter: completely separate user classpath
from the system classpath so it doesn't fall back to parent if the user class
is not found in the user classpath
- update {{ApplicationClassLoader}} to be current with the java 8
{{ClassLoader}} implementation (e.g. classloading lock, etc.)
- improve the system class override mechanism in {{ApplicationClassLoader}}
There may be more...
> classloading isolation improvements for cleaner and stricter dependencies
> -------------------------------------------------------------------------
>
> Key: HADOOP-13070
> URL: https://issues.apache.org/jira/browse/HADOOP-13070
> Project: Hadoop Common
> Issue Type: Improvement
> Components: util
> Reporter: Sangjin Lee
> Assignee: Sangjin Lee
> Priority: Critical
>
> Related to HADOOP-11656, we would like to make a number of improvements in
> terms of classloading isolation so that user-code can run safely without
> worrying about dependency collisions with the Hadoop dependencies.
> By the same token, it should raised the quality of the user code and its
> specified classpath so that users get clear signals if they specify incorrect
> classpaths.
> This will contain a proposal that will include several improvements some of
> which may not be backward compatible. As such, it should be targeted to the
> next major revision of Hadoop.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]