MAPREDUCE-4678. Running the Pentomino example with defaults throws java.lang.NegativeArraySizeException. Contributed by Chris McConnell. (harsh)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1391551 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
6d77365a83
commit
e45b103655
@ -132,6 +132,8 @@ Trunk (Unreleased)
|
|||||||
|
|
||||||
MAPREDUCE-3223. Remove MR1 configs from mapred-default.xml (tlipcon via harsh)
|
MAPREDUCE-3223. Remove MR1 configs from mapred-default.xml (tlipcon via harsh)
|
||||||
|
|
||||||
|
MAPREDUCE-4678. Running the Pentomino example with defaults throws
|
||||||
|
java.lang.NegativeArraySizeException (Chris McConnell via harsh)
|
||||||
|
|
||||||
Release 2.0.3-alpha - Unreleased
|
Release 2.0.3-alpha - Unreleased
|
||||||
|
|
||||||
|
@ -165,16 +165,30 @@ public static void main(String[] args) throws Exception {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int run(String[] args) throws Exception {
|
public int run(String[] args) throws Exception {
|
||||||
|
Configuration conf = getConf();
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
System.out.println("pentomino <output>");
|
System.out.println("Usage: pentomino <output> [-depth #] [-height #] [-width #]");
|
||||||
ToolRunner.printGenericCommandUsage(System.out);
|
ToolRunner.printGenericCommandUsage(System.out);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
// check for passed parameters, otherwise use defaults
|
||||||
Configuration conf = getConf();
|
int width = PENT_WIDTH;
|
||||||
int width = conf.getInt(Pentomino.WIDTH, PENT_WIDTH);
|
int height = PENT_HEIGHT;
|
||||||
int height = conf.getInt(Pentomino.HEIGHT, PENT_HEIGHT);
|
int depth = PENT_DEPTH;
|
||||||
int depth = conf.getInt(Pentomino.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,
|
Class<? extends Pentomino> pentClass = conf.getClass(Pentomino.CLASS,
|
||||||
OneSidedPentomino.class, Pentomino.class);
|
OneSidedPentomino.class, Pentomino.class);
|
||||||
int numMaps = conf.getInt(MRJobConfig.NUM_MAPS, DEFAULT_MAPS);
|
int numMaps = conf.getInt(MRJobConfig.NUM_MAPS, DEFAULT_MAPS);
|
||||||
|
Loading…
Reference in New Issue
Block a user