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));