You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by pr...@apache.org on 2014/10/08 08:12:43 UTC

svn commit: r1630012 - /hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/MergeFileRecordProcessor.java

Author: prasanthj
Date: Wed Oct  8 06:12:43 2014
New Revision: 1630012

URL: http://svn.apache.org/r1630012
Log:
HIVE-8372: Potential NPE in Tez MergeFileRecordProcessor (Prasanth J reviewed by Vikram Dixit)

Modified:
    hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/MergeFileRecordProcessor.java

Modified: hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/MergeFileRecordProcessor.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/MergeFileRecordProcessor.java?rev=1630012&r1=1630011&r2=1630012&view=diff
==============================================================================
--- hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/MergeFileRecordProcessor.java (original)
+++ hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/MergeFileRecordProcessor.java Wed Oct  8 06:12:43 2014
@@ -17,10 +17,13 @@
  */
 package org.apache.hadoop.hive.ql.exec.tez;
 
+import java.io.IOException;
+import java.util.Map;
+import java.util.Map.Entry;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.ql.exec.MapredContext;
 import org.apache.hadoop.hive.ql.exec.ObjectCacheFactory;
 import org.apache.hadoop.hive.ql.exec.Operator;
@@ -41,10 +44,6 @@ import org.apache.tez.runtime.api.Logica
 import org.apache.tez.runtime.api.ProcessorContext;
 import org.apache.tez.runtime.library.api.KeyValueReader;
 
-import java.io.IOException;
-import java.util.Map;
-import java.util.Map.Entry;
-
 /**
  * Record processor for fast merging of files.
  */
@@ -93,17 +92,17 @@ public class MergeFileRecordProcessor ex
       MapWork mapWork = (MapWork) cache.retrieve(MAP_PLAN_KEY);
       if (mapWork == null) {
         mapWork = Utilities.getMapWork(jconf);
-        if (mapWork instanceof MergeFileWork) {
-          mfWork = (MergeFileWork) mapWork;
-        } else {
-          throw new RuntimeException("MapWork should be an instance of" +
-              " MergeFileWork.");
-        }
         cache.cache(MAP_PLAN_KEY, mapWork);
       } else {
         Utilities.setMapWork(jconf, mapWork);
       }
 
+      if (mapWork instanceof MergeFileWork) {
+        mfWork = (MergeFileWork) mapWork;
+      } else {
+        throw new RuntimeException("MapWork should be an instance of MergeFileWork.");
+      }
+
       String alias = mfWork.getAliasToWork().keySet().iterator().next();
       mergeOp = mfWork.getAliasToWork().get(alias);
       LOG.info(mergeOp.dump(0));