MAPREDUCE-3283. mapred classpath CLI does not display the complete classpath. 
Contributed by Varun Saxena.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/60dc848f
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/60dc848f
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/60dc848f

Branch: refs/heads/branch-2
Commit: 60dc848f239841b42ae79b45be71bb476db8452d
Parents: 95858db
Author: cnauroth <[email protected]>
Authored: Wed Jan 21 13:52:09 2015 -0800
Committer: cnauroth <[email protected]>
Committed: Wed Jan 21 13:52:09 2015 -0800

----------------------------------------------------------------------
 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(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/60dc848f/hadoop-mapreduce-project/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 78099d4..56a7b22 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

http://git-wip-us.apache.org/repos/asf/hadoop/blob/60dc848f/hadoop-mapreduce-project/bin/mapred
----------------------------------------------------------------------
diff --git a/hadoop-mapreduce-project/bin/mapred 
b/hadoop-mapreduce-project/bin/mapred
index 1b54bc7..a70faf0 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

http://git-wip-us.apache.org/repos/asf/hadoop/blob/60dc848f/hadoop-mapreduce-project/bin/mapred.cmd
----------------------------------------------------------------------
diff --git a/hadoop-mapreduce-project/bin/mapred.cmd 
b/hadoop-mapreduce-project/bin/mapred.cmd
index c7bc801..550b1ed 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

Reply via email to