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

Allen Wittenauer commented on HADOOP-10893:
-------------------------------------------

{code}
+# If HADOOP_USE_CLIENT_CLASSLOADER is set, user classes and their dependencies
+# as defined by HADOOP_CLASSPATH and the jar as the hadoop jar argument are
+# loaded by a separate classloader. It should not be mixed with
+# HADOOP_USER_CLASSPATH_FIRST. If it is set, HADOOP_USER_CLASSPATH_FIRST is
+# ignored. Can be defined by doing
+# export HADOOP_USE_CLIENT_CLASSLOADER=true
+
+# HADOOP_CLIENT_CLASSLOADER_SYSTEM_CLASSES overrides the default definition of
+# system classes for the client classloader. The system classes are a
+# comma-separated list of classes that should be loaded from the system
+# classpath, not the user-supplied JARs, when HADOOP_USE_CLIENT_CLASSLOADER is
+# enabled. Names ending in '.' (period) are treated as package names, and names
+# starting with a '-' are treated as negative matches.
+
{code}

I'm not a fan of this wall of text sitting in hadoop-env.sh.  Ideally, this 
should really be in documentation with a very light description here; that 
second paragraph seems too much.  Additionally, burying the variable in the 
middle of the description is confusing.  It should be the last thing in the 
section so that it is clear that's what one needs to change. In other words, 
follow the pattern established elsewhere.

The change to hadoop_add_to_classpath_userpath looks fine, based upon my 
understanding of what this patch is doing.

> isolated classloader on the client side
> ---------------------------------------
>
>                 Key: HADOOP-10893
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10893
>             Project: Hadoop Common
>          Issue Type: New Feature
>          Components: util
>    Affects Versions: 2.4.0
>            Reporter: Sangjin Lee
>            Assignee: Sangjin Lee
>         Attachments: HADOOP-10893.patch, HADOOP-10893.patch, 
> HADOOP-10893.patch, HADOOP-10893.patch, HADOOP-10893.patch, 
> HADOOP-10893.patch, classloader-test.tar.gz
>
>
> We have the job classloader on the mapreduce tasks that run on the cluster. 
> It has a benefit of being able to isolate class space for user code and avoid 
> version clashes.
> Although it occurs less often, version clashes do occur on the client JVM. It 
> would be good to introduce an isolated classloader on the client side as well 
> to address this. A natural point to introduce this may be through RunJar, as 
> that's how most of hadoop jobs are run.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to