Repository: hive Updated Branches: refs/heads/branch-2.1 950b11fd8 -> c400e44f1
HIVE-14402: Vectorization: Fix Mapjoin overflow deserialization (Gopal V, reviewed by Matt McCline) (cherry picked from commit 19e5f2c8aca7a6363d4a74fb79f7f04a9a40f846) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/c400e44f Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/c400e44f Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/c400e44f Branch: refs/heads/branch-2.1 Commit: c400e44f136852665f4c526f163e726d5d95de09 Parents: 950b11f Author: Gopal V <[email protected]> Authored: Fri Aug 5 03:26:37 2016 -0700 Committer: Gopal V <[email protected]> Committed: Fri Aug 5 03:32:43 2016 -0700 ---------------------------------------------------------------------- .../exec/vector/mapjoin/VectorMapJoinGenerateResultOperator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/c400e44f/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 22eb07e..22b2a17 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 @@ -292,7 +292,7 @@ public abstract class VectorMapJoinGenerateResultOperator extends VectorMapJoinC } ByteSegmentRef byteSegmentRef = hashMapResult.first(); - while (true) { + while (byteSegmentRef != null) { // Fill up as much of the overflow batch as possible with small table values. while (byteSegmentRef != null) { @@ -304,7 +304,7 @@ public abstract class VectorMapJoinGenerateResultOperator extends VectorMapJoinC int length = byteSegmentRef.getLength(); smallTableVectorDeserializeRow.setBytes(bytes, offset, length); - smallTableVectorDeserializeRow.deserialize(overflowBatch, overflowBatch.DEFAULT_SIZE); + smallTableVectorDeserializeRow.deserialize(overflowBatch, overflowBatch.size); } overflowBatch.size++;
