You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-commits@hadoop.apache.org by ha...@apache.org on 2013/01/15 14:47:53 UTC
svn commit: r1433412 - in
/hadoop/common/branches/branch-2/hadoop-mapreduce-project: CHANGES.txt
hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/dancing/DistributedPentomino.java
Author: harsh
Date: Tue Jan 15 13:47:53 2013
New Revision: 1433412
URL: http://svn.apache.org/viewvc?rev=1433412&view=rev
Log:
MAPREDUCE-4678. Running the Pentomino example with defaults throws java.lang.NegativeArraySizeException. Contributed by Chris McConnell. (harsh)
Modified:
hadoop/common/branches/branch-2/hadoop-mapreduce-project/CHANGES.txt
hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/dancing/DistributedPentomino.java
Modified: hadoop/common/branches/branch-2/hadoop-mapreduce-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-mapreduce-project/CHANGES.txt?rev=1433412&r1=1433411&r2=1433412&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-mapreduce-project/CHANGES.txt (original)
+++ hadoop/common/branches/branch-2/hadoop-mapreduce-project/CHANGES.txt Tue Jan 15 13:47:53 2013
@@ -539,6 +539,9 @@ Release 0.23.6 - UNRELEASED
MAPREDUCE-4934. Maven RAT plugin is not checking all source files (tgraves)
+ MAPREDUCE-4678. Running the Pentomino example with defaults throws
+ java.lang.NegativeArraySizeException (Chris McConnell via harsh)
+
Release 0.23.5 - UNRELEASED
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/dancing/DistributedPentomino.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/dancing/DistributedPentomino.java?rev=1433412&r1=1433411&r2=1433412&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/dancing/DistributedPentomino.java (original)
+++ hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/dancing/DistributedPentomino.java Tue Jan 15 13:47:53 2013
@@ -167,16 +167,30 @@ public class DistributedPentomino extend
}
public int run(String[] args) throws Exception {
+ Configuration conf = getConf();
if (args.length == 0) {
- System.out.println("pentomino <output>");
+ System.out.println("Usage: pentomino <output> [-depth #] [-height #] [-width #]");
ToolRunner.printGenericCommandUsage(System.out);
return 2;
}
-
- Configuration conf = getConf();
- int width = conf.getInt(Pentomino.WIDTH, PENT_WIDTH);
- int height = conf.getInt(Pentomino.HEIGHT, PENT_HEIGHT);
- int depth = conf.getInt(Pentomino.DEPTH, PENT_DEPTH);
+ // check for passed parameters, otherwise use defaults
+ int width = PENT_WIDTH;
+ int height = PENT_HEIGHT;
+ int depth = PENT_DEPTH;
+ for (int i = 0; i < args.length; i++) {
+ if (args[i].equalsIgnoreCase("-depth")) {
+ depth = Integer.parseInt(args[i++].trim());
+ } else if (args[i].equalsIgnoreCase("-height")) {
+ height = Integer.parseInt(args[i++].trim());
+ } else if (args[i].equalsIgnoreCase("-width") ) {
+ width = Integer.parseInt(args[i++].trim());
+ }
+ }
+ // now set the values within conf for M/R tasks to read, this
+ // will ensure values are set preventing MAPREDUCE-4678
+ conf.setInt(Pentomino.WIDTH, width);
+ conf.setInt(Pentomino.HEIGHT, height);
+ conf.setInt(Pentomino.DEPTH, depth);
Class<? extends Pentomino> pentClass = conf.getClass(Pentomino.CLASS,
OneSidedPentomino.class, Pentomino.class);
int numMaps = conf.getInt(MRJobConfig.NUM_MAPS, DEFAULT_MAPS);