hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Harsh J (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-9450) HADOOP_USER_CLASSPATH_FIRST is not honored; CLASSPATH is PREpended instead of APpended
Date Sat, 13 Apr 2013 04:02:15 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-9450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Harsh J updated HADOOP-9450:
----------------------------

    Attachment: HADOOP-9450.patch

Mitch is correct about all of this. The intention was to place first or regularly last, depending
on the safety override. Relying on the position of where it is done in code today is not maintainable
nor reliable in the long term (an example is trunk now, its got entries coming in before and
after this manipulation).

Note that the new Windows scripts already sorta do what Mitch points out rather than emulate
the existing implementation. FWIW, Pig also does the same thing via PIG-3261.

I've attached a trunk applicable patch from what Mitch has posted in his comments here. If
this approach looks good to everyone, I can also supply a branch-1 (and branch-2/0.23, if
doesn't apply from trunk) compat patch to backport.

I cannot test the Windows changes as I lack an environment presently but I did manually inspect
the CLASSPATH via a "bash -x ./hadoop" to see the precedence switching doing its work properly.
                
> HADOOP_USER_CLASSPATH_FIRST is not honored; CLASSPATH is PREpended instead of APpended
> --------------------------------------------------------------------------------------
>
>                 Key: HADOOP-9450
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9450
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Mitch Wyle
>         Attachments: HADOOP-9450.patch
>
>
> On line 133 of the hadoop shell wrapper, CLASSPATH is set as:
> CLASSPATH=${CLASSPATH}:${HADOOP_CLASSPATH}
> Notice that the built-up CLASSPATH, along with all the libs and unwanted JARS are pre-pended
BEFORE the user's HADOOP_CLASSPATH.  Therefore there is no way to put your own JARs in front
of those that the hadoop wrapper script sets.
> We propose a patch that reverses this order.  Failing that, we would like to add a command
line option to override this behavior and enable a user's JARs to be found before the wrong
ones in the Hadoop library paths.
> We always welcome your opinions.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message