HIVE-10484: Vectorization : RuntimeException "Big Table Retained Mapping duplicate column" (Matt McCline reviewed by Vikram Dixit)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/bd8d59e4 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/bd8d59e4 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/bd8d59e4 Branch: refs/heads/beeline-cli Commit: bd8d59e40ae87fc23c030fd1dda19a4ddfe3cb5b Parents: 2531040 Author: vikram <vik...@hortonworks.com> Authored: Wed May 6 17:27:52 2015 -0700 Committer: vikram <vik...@hortonworks.com> Committed: Wed May 6 17:27:52 2015 -0700 ---------------------------------------------------------------------- .../ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/bd8d59e4/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java index b215f70..a9082eb 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java @@ -321,7 +321,10 @@ public abstract class VectorMapJoinCommonOperator extends MapJoinOperator implem projectionMapping.add(nextOutputColumn, batchColumnIndex, typeName); // Collect columns we copy from the big table batch to the overflow batch. - bigTableRetainedMapping.add(batchColumnIndex, batchColumnIndex, typeName); + if (!bigTableRetainedMapping.containsOutputColumn(batchColumnIndex)) { + // Tolerate repeated use of a big table column. + bigTableRetainedMapping.add(batchColumnIndex, batchColumnIndex, typeName); + } nextOutputColumn++; }