浏览代码

HADOOP-5652. Fix a bug where in-memory segments are incorrectly retained in memory.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/trunk@765270 13f79535-47bb-0310-9956-ffa450edef68
Christopher Douglas 16 年之前
父节点
当前提交
9d37407b63
共有 2 个文件被更改,包括 5 次插入2 次删除
  1. 3 0
      CHANGES.txt
  2. 2 2
      src/mapred/org/apache/hadoop/mapred/ReduceTask.java

+ 3 - 0
CHANGES.txt

@@ -391,6 +391,9 @@ Trunk (unreleased changes)
     HADOOP-5462. Fixed a double free bug in the task-controller
     executable. (Sreekanth Ramakrishnan via yhemanth)
 
+    HADOOP-5652. Fix a bug where in-memory segments are incorrectly retained in
+    memory. (cdouglas)
+
 Release 0.20.0 - Unreleased
 
   INCOMPATIBLE CHANGES

+ 2 - 2
src/mapred/org/apache/hadoop/mapred/ReduceTask.java

@@ -2311,8 +2311,8 @@ class ReduceTask extends Task {
         memDiskSegments.clear();
         RawKeyValueIterator diskMerge = Merger.merge(
             job, fs, keyClass, valueClass, diskSegments,
-            ioSortFactor, numInMemSegments, tmpDir, comparator,
-            reporter, false, spilledRecordsCounter, null);
+            ioSortFactor, 0 == numInMemSegments ? 0 : numInMemSegments - 1,
+            tmpDir, comparator, reporter, false, spilledRecordsCounter, null);
         diskSegments.clear();
         if (0 == finalSegments.size()) {
           return diskMerge;