diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index afcb7a2a1b6..a28d38f2bb0 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -52,6 +52,9 @@ Trunk (unreleased changes) BUG FIXES + MAPREDUCE-4087. [Gridmix] GenerateDistCacheData job of Gridmix can + become slow in some cases (ravigummadi). + MAPREDUCE-3953. [Gridmix] Gridmix throws NPE and does not simulate a job if the trace contains null taskStatus for a task. (ravigummadi) diff --git a/hadoop-mapreduce-project/src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/GenerateDistCacheData.java b/hadoop-mapreduce-project/src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/GenerateDistCacheData.java index c90e17c6bf4..fad34ab7df2 100644 --- a/hadoop-mapreduce-project/src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/GenerateDistCacheData.java +++ b/hadoop-mapreduce-project/src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/GenerateDistCacheData.java @@ -156,10 +156,11 @@ class GenerateDistCacheData extends GridmixJob { FSDataOutputStream dos = FileSystem.create(fs, path, new FsPermission((short)0755)); - for (long bytes = key.get(); bytes > 0; bytes -= val.getLength()) { + int size = 0; + for (long bytes = key.get(); bytes > 0; bytes -= size) { r.nextBytes(val.getBytes()); - val.setSize((int)Math.min(val.getLength(), bytes)); - dos.write(val.getBytes(), 0, val.getLength());// Write to distCache file + size = (int)Math.min(val.getLength(), bytes); + dos.write(val.getBytes(), 0, size);// Write to distCache file } dos.close(); }