You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by mm...@apache.org on 2016/12/23 21:39:41 UTC

hive git commit: HIVE-15488: Native Vector MapJoin fails when trying to serialize BigTable rows that have (unreferenced) complex types (Matt McCline, reviewed by Wei Zheng)

Repository: hive
Updated Branches:
  refs/heads/master 7befe8e67 -> d28cbb4da


HIVE-15488: Native Vector MapJoin fails when trying to serialize BigTable rows that have (unreferenced) complex types (Matt McCline, reviewed by Wei Zheng)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/d28cbb4d
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/d28cbb4d
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/d28cbb4d

Branch: refs/heads/master
Commit: d28cbb4da2285e4751ed1d9cd0e667e33ee982be
Parents: 7befe8e
Author: Matt McCline <mm...@hortonworks.com>
Authored: Fri Dec 23 13:39:32 2016 -0800
Committer: Matt McCline <mm...@hortonworks.com>
Committed: Fri Dec 23 13:39:32 2016 -0800

----------------------------------------------------------------------
 .../vector/mapjoin/VectorMapJoinGenerateResultOperator.java     | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/d28cbb4d/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinGenerateResultOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinGenerateResultOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinGenerateResultOperator.java
index 21a01e6..3e8d3e8 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinGenerateResultOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinGenerateResultOperator.java
@@ -46,6 +46,7 @@ import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.WriteBuffers.ByteSegmentRef;
 import org.apache.hadoop.hive.serde2.lazybinary.fast.LazyBinaryDeserializeRead;
 import org.apache.hadoop.hive.serde2.lazybinary.fast.LazyBinarySerializeWrite;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category;
 import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
 import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
@@ -423,7 +424,9 @@ public abstract class VectorMapJoinGenerateResultOperator extends VectorMapJoinC
     List<Integer> noNullsProjectionList = new ArrayList<Integer>();
     for (int i = 0; i < projectionSize; i++) {
       int projectedColumn = projectedColumns.get(i);
-      if (batch.cols[projectedColumn] != null) {
+      if (batch.cols[projectedColumn] != null &&
+          inputObjInspectorsTypeInfos[i].getCategory() == Category.PRIMITIVE) {
+        // Only columns present in the batch and non-complex types.
         typeInfoList.add(inputObjInspectorsTypeInfos[i]);
         noNullsProjectionList.add(projectedColumn);
       }