Przeglądaj źródła

MAPREDUCE-6261. NullPointerException if MapOutputBuffer.flush invoked twice. Contributed by Tsuyoshi OZAWA

Jason Lowe 10 lat temu
rodzic
commit
4981d082d4

+ 3 - 0
hadoop-mapreduce-project/CHANGES.txt

@@ -379,6 +379,9 @@ Release 2.7.0 - UNRELEASED
     MAPREDUCE-4286. TestClientProtocolProviderImpls passes on failure 
     conditions. (Devaraj K via ozawa)
 
+    MAPREDUCE-6261. NullPointerException if MapOutputBuffer.flush invoked
+    twice (Tsuyoshi OZAWA via jlowe)
+
 Release 2.6.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

+ 4 - 0
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/MapTask.java

@@ -1458,6 +1458,10 @@ public class MapTask extends Task {
     public void flush() throws IOException, ClassNotFoundException,
            InterruptedException {
       LOG.info("Starting flush of map output");
+      if (kvbuffer == null) {
+        LOG.info("kvbuffer is null. Skipping flush.");
+        return;
+      }
       spillLock.lock();
       try {
         while (spillInProgress) {