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

Reply via email to