Просмотр исходного кода

HADOOP-1110. Fix an off-by-one error counting map inputs. Contributed by David Bowen.

git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@524200 13f79535-47bb-0310-9956-ffa450edef68
Doug Cutting 18 лет назад
Родитель
Сommit
59c8307752
2 измененных файлов с 10 добавлено и 5 удалено
  1. 6 3
      CHANGES.txt
  2. 4 2
      src/java/org/apache/hadoop/mapred/MapTask.java

+ 6 - 3
CHANGES.txt

@@ -67,17 +67,20 @@ Trunk (unreleased changes)
 20. HADOOP-1167.  Remove extra synchronization in InMemoryFileSystem.
     (omalley via cutting)
 
+21. HADOOP-1110.  Fix an off-by-one error counting map inputs.
+    (David Bowen via cutting)
+
 
 Release 0.12.3 (not yet released)
 
-15. HADOOP-1162.  Fix bug in record CSV and XML serialization of
+ 1. HADOOP-1162.  Fix bug in record CSV and XML serialization of
     binary values.  (Milind Bhandarkar via cutting)
 
-16. HADOOP-1123.  Fix NullPointerException in LocalFileSystem when
+ 2. HADOOP-1123.  Fix NullPointerException in LocalFileSystem when
     trying to recover from a checksum error.
     (Hairong Kuang & Nigel Daley via tomwhite)
 
-17. HADOOP-1177.  Fix bug where IOException in MapOutputLocation.getFile
+ 3. HADOOP-1177.  Fix bug where IOException in MapOutputLocation.getFile
     was not being logged.  (Devaraj Das via tomwhite)
 
 

+ 4 - 2
src/java/org/apache/hadoop/mapred/MapTask.java

@@ -155,8 +155,10 @@ class MapTask extends Task {
           setProgress(getProgress());
           long beforePos = getPos();
           boolean ret = rawIn.next(key, value);
-          reporter.incrCounter(MAP_INPUT_RECORDS, 1);
-          reporter.incrCounter(MAP_INPUT_BYTES, (getPos() - beforePos));
+          if (ret) {
+            reporter.incrCounter(MAP_INPUT_RECORDS, 1);
+            reporter.incrCounter(MAP_INPUT_BYTES, (getPos() - beforePos));
+          }
           return ret;
         }
         public long getPos() throws IOException { return rawIn.getPos(); }