From 60dc848f239841b42ae79b45be71bb476db8452d Mon Sep 17 00:00:00 2001 From: cnauroth Date: Wed, 21 Jan 2015 13:52:09 -0800 Subject: [PATCH] MAPREDUCE-3283. mapred classpath CLI does not display the complete classpath. Contributed by Varun Saxena. --- hadoop-mapreduce-project/CHANGES.txt | 3 +++ hadoop-mapreduce-project/bin/mapred | 12 ++++++++---- hadoop-mapreduce-project/bin/mapred.cmd | 10 +++++++++- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index 78099d491f4..56a7b224be0 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -77,6 +77,9 @@ Release 2.7.0 - UNRELEASED MAPREDUCE-6206. TestAggregatedTransferRate fails on non-US systems (Jens Rabe via jlowe) + MAPREDUCE-3283. mapred classpath CLI does not display the complete classpath + (Varun Saxena via cnauroth) + Release 2.6.0 - 2014-11-18 INCOMPATIBLE CHANGES diff --git a/hadoop-mapreduce-project/bin/mapred b/hadoop-mapreduce-project/bin/mapred index 1b54bc77ff7..a70faf0a3cb 100755 --- a/hadoop-mapreduce-project/bin/mapred +++ b/hadoop-mapreduce-project/bin/mapred @@ -148,11 +148,15 @@ for f in $HADOOP_MAPRED_HOME/modules/*.jar; do done if [ "$COMMAND" = "classpath" ] ; then - if $cygwin; then - CLASSPATH=$(cygpath -p -w "$CLASSPATH" 2>/dev/null) + if [ "$#" -gt 0 ]; then + CLASS=org.apache.hadoop.util.Classpath + else + if $cygwin; then + CLASSPATH=$(cygpath -p -w "$CLASSPATH" 2>/dev/null) + fi + echo $CLASSPATH + exit 0 fi - echo $CLASSPATH - exit fi # cygwin path translation diff --git a/hadoop-mapreduce-project/bin/mapred.cmd b/hadoop-mapreduce-project/bin/mapred.cmd index c7bc801f005..550b1ed5ad6 100644 --- a/hadoop-mapreduce-project/bin/mapred.cmd +++ b/hadoop-mapreduce-project/bin/mapred.cmd @@ -94,6 +94,14 @@ if "%1" == "--loglevel" ( @rem add modules to CLASSPATH set CLASSPATH=%CLASSPATH%;%HADOOP_MAPRED_HOME%\modules\* + if %mapred-command% == classpath ( + if not defined mapred-command-arguments ( + @rem No need to bother starting up a JVM for this simple case. + @echo %CLASSPATH% + exit /b + ) + ) + call :%mapred-command% %mapred-command-arguments% set java_arguments=%JAVA_HEAP_MAX% %HADOOP_OPTS% -classpath %CLASSPATH% %CLASS% %mapred-command-arguments% call %JAVA% %java_arguments% @@ -102,7 +110,7 @@ goto :eof :classpath - @echo %CLASSPATH% + set CLASS=org.apache.hadoop.util.Classpath goto :eof :job