diff --git a/mapreduce/CHANGES.txt b/mapreduce/CHANGES.txt index 8acda6dba7..1ea594bbcf 100644 --- a/mapreduce/CHANGES.txt +++ b/mapreduce/CHANGES.txt @@ -402,6 +402,9 @@ Trunk (unreleased changes) MAPREDUCE-2839. Fixed TokenCache to get delegation tokens using both new and old apis. (Siddharth Seth via acmurthy) + MAPREDUCE-2727. Fix divide-by-zero error in SleepJob for sleepCount equals + 0. (Jeffrey Naisbitt via acmurthy) + Release 0.22.0 - Unreleased diff --git a/mapreduce/src/test/mapred/org/apache/hadoop/mapreduce/SleepJob.java b/mapreduce/src/test/mapred/org/apache/hadoop/mapreduce/SleepJob.java index f6ce1cc0c4..92add201c3 100644 --- a/mapreduce/src/test/mapred/org/apache/hadoop/mapreduce/SleepJob.java +++ b/mapreduce/src/test/mapred/org/apache/hadoop/mapreduce/SleepJob.java @@ -97,6 +97,9 @@ public void initialize(InputSplit split, TaskAttemptContext context) { public boolean nextKeyValue() throws IOException { + if (count == 0) { + return false; + } key = new IntWritable(); key.set(emitCount); int emit = emitPerMapTask / count; @@ -112,7 +115,7 @@ public boolean nextKeyValue() public IntWritable getCurrentValue() { return value; } public void close() throws IOException { } public float getProgress() throws IOException { - return records / ((float)count); + return count == 0 ? 100 : records / ((float)count); } }; } @@ -129,7 +132,7 @@ protected void setup(Context context) Configuration conf = context.getConfiguration(); this.mapSleepCount = conf.getInt(MAP_SLEEP_COUNT, mapSleepCount); - this.mapSleepDuration = + this.mapSleepDuration = mapSleepCount == 0 ? 0 : conf.getLong(MAP_SLEEP_TIME , 100) / mapSleepCount; } @@ -166,7 +169,7 @@ protected void setup(Context context) Configuration conf = context.getConfiguration(); this.reduceSleepCount = conf.getInt(REDUCE_SLEEP_COUNT, reduceSleepCount); - this.reduceSleepDuration = + this.reduceSleepDuration = reduceSleepCount == 0 ? 0 : conf.getLong(REDUCE_SLEEP_TIME , 100) / reduceSleepCount; }