From d5373b9c550a355d4e91330ba7cc8f4c7c3aac51 Mon Sep 17 00:00:00 2001 From: Vinod Kumar Vavilapalli Date: Wed, 22 May 2013 06:36:24 +0000 Subject: [PATCH] MAPREDUCE-5156. Change hadoop examples ProgramDriver to be able to run 1.x examples jar on top of YARN. This change breaks 0.23.x direct usages of ProgramDriver. Contributed by Zhijie Shen. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1485085 13f79535-47bb-0310-9956-ffa450edef68 --- .../dev-support/findbugsExcludeFile.xml | 5 +++++ .../java/org/apache/hadoop/util/ProgramDriver.java | 13 +++++++++++-- .../java/org/apache/hadoop/test/CoreTestDriver.java | 2 +- .../java/org/apache/hadoop/test/HdfsTestDriver.java | 2 +- hadoop-mapreduce-project/CHANGES.txt | 4 ++++ .../org/apache/hadoop/test/MapredTestDriver.java | 2 +- .../org/apache/hadoop/examples/ExampleDriver.java | 2 +- 7 files changed, 24 insertions(+), 6 deletions(-) diff --git a/hadoop-common-project/hadoop-common/dev-support/findbugsExcludeFile.xml b/hadoop-common-project/hadoop-common/dev-support/findbugsExcludeFile.xml index 98dc0813fc..ded4f0821b 100644 --- a/hadoop-common-project/hadoop-common/dev-support/findbugsExcludeFile.xml +++ b/hadoop-common-project/hadoop-common/dev-support/findbugsExcludeFile.xml @@ -100,6 +100,11 @@ + + + + + diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ProgramDriver.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ProgramDriver.java index 86e3249a6a..e52dacccbb 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ProgramDriver.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ProgramDriver.java @@ -117,7 +117,7 @@ public void addClass (String name, Class mainClass, String description) throws T * @throws IllegalArgumentException * @throws Throwable Anything thrown by the example program's main */ - public int driver(String[] args) + public int run(String[] args) throws Throwable { // Make sure they gave us a program name. @@ -144,5 +144,14 @@ public int driver(String[] args) pgm.invoke(new_args); return 0; } - + + /** + * API compatible with Hadoop 1.x + */ + public void driver(String[] argv) throws Throwable { + if (run(argv) == -1) { + System.exit(-1); + } + } + } diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/CoreTestDriver.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/CoreTestDriver.java index a01e751b2e..af4840ce73 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/CoreTestDriver.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/CoreTestDriver.java @@ -52,7 +52,7 @@ public CoreTestDriver(ProgramDriver pgd) { public void run(String argv[]) { int exitCode = -1; try { - exitCode = pgd.driver(argv); + exitCode = pgd.run(argv); } catch(Throwable e) { e.printStackTrace(); } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/test/HdfsTestDriver.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/test/HdfsTestDriver.java index cdcf618c80..382713be57 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/test/HdfsTestDriver.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/test/HdfsTestDriver.java @@ -47,7 +47,7 @@ public HdfsTestDriver(ProgramDriver pgd) { public void run(String argv[]) { int exitCode = -1; try { - exitCode = pgd.driver(argv); + exitCode = pgd.run(argv); } catch(Throwable e) { e.printStackTrace(); } diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index 82c8a095fa..13ef1fc878 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -179,6 +179,10 @@ Release 2.0.5-beta - UNRELEASED compatibility with mapred in 1.x but incompatible with 0.23.x. (Mayank Bansal via vinodkv) + MAPREDUCE-5156. Change hadoop examples ProgramDriver to be able to run + 1.x examples jar on top of YARN. This change breaks 0.23.x direct usages of + ProgramDriver. (Zhijie Shen via vinodkv) + NEW FEATURES IMPROVEMENTS diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/test/MapredTestDriver.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/test/MapredTestDriver.java index 7355b8e9fb..cc7e63fbc5 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/test/MapredTestDriver.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/test/MapredTestDriver.java @@ -112,7 +112,7 @@ public MapredTestDriver(ProgramDriver pgd) { public void run(String argv[]) { int exitCode = -1; try { - exitCode = pgd.driver(argv); + exitCode = pgd.run(argv); } catch(Throwable e) { e.printStackTrace(); } diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/ExampleDriver.java b/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/ExampleDriver.java index 2d9a500280..ec9b699259 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/ExampleDriver.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/ExampleDriver.java @@ -71,7 +71,7 @@ public static void main(String argv[]){ pgd.addClass("teragen", TeraGen.class, "Generate data for the terasort"); pgd.addClass("terasort", TeraSort.class, "Run the terasort"); pgd.addClass("teravalidate", TeraValidate.class, "Checking results of terasort"); - exitCode = pgd.driver(argv); + exitCode = pgd.run(argv); } catch(Throwable e){ e.printStackTrace();