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 2015/05/12 03:24:23 UTC
[37/39] hive git commit: HIVE-10609: Vectorization : Q64 fails with
ClassCastException (Matt McCline via Vikram Dixit K)
HIVE-10609: Vectorization : Q64 fails with ClassCastException (Matt McCline via Vikram Dixit K)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/f65528a9
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/f65528a9
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/f65528a9
Branch: refs/heads/llap
Commit: f65528a961bfe702a1c8f7aafeab0d23dadb6eea
Parents: 1c6f345
Author: vikram <vi...@hortonworks.com>
Authored: Mon May 11 16:00:07 2015 -0700
Committer: vikram <vi...@hortonworks.com>
Committed: Mon May 11 16:00:07 2015 -0700
----------------------------------------------------------------------
.../hadoop/hive/ql/exec/vector/VectorMapJoinOperator.java | 8 ++++++--
.../ql/exec/vector/VectorMapJoinOuterFilteredOperator.java | 6 ++++--
2 files changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/f65528a9/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorMapJoinOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorMapJoinOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorMapJoinOperator.java
index 15c747e..e9bd44a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorMapJoinOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorMapJoinOperator.java
@@ -101,15 +101,19 @@ public class VectorMapJoinOperator extends VectorMapJoinBaseOperator {
@Override
public Collection<Future<?>> initializeOp(Configuration hconf) throws HiveException {
+ // Use a final variable to properly parameterize the processVectorInspector closure.
+ // Using a member variable in the closure will not do the right thing...
+ final int parameterizePosBigTable = conf.getPosBigTable();
+
// Code borrowed from VectorReduceSinkOperator.initializeOp
VectorExpressionWriterFactory.processVectorInspector(
- (StructObjectInspector) inputObjInspectors[0],
+ (StructObjectInspector) inputObjInspectors[parameterizePosBigTable],
new VectorExpressionWriterFactory.SingleOIDClosure() {
@Override
public void assign(VectorExpressionWriter[] writers,
ObjectInspector objectInspector) {
rowWriters = writers;
- inputObjInspectors[0] = objectInspector;
+ inputObjInspectors[parameterizePosBigTable] = objectInspector;
}
});
singleRow = new Object[rowWriters.length];
http://git-wip-us.apache.org/repos/asf/hive/blob/f65528a9/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorMapJoinOuterFilteredOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorMapJoinOuterFilteredOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorMapJoinOuterFilteredOperator.java
index 5aecfcc..a96816f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorMapJoinOuterFilteredOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorMapJoinOuterFilteredOperator.java
@@ -62,10 +62,12 @@ public class VectorMapJoinOuterFilteredOperator extends VectorMapJoinBaseOperato
@Override
public Collection<Future<?>> initializeOp(Configuration hconf) throws HiveException {
+ final int posBigTable = conf.getPosBigTable();
+
// We need a input object inspector that is for the row we will extract out of the
// vectorized row batch, not for example, an original inspector for an ORC table, etc.
- inputObjInspectors[0] =
- VectorizedBatchUtil.convertToStandardStructObjectInspector((StructObjectInspector) inputObjInspectors[0]);
+ inputObjInspectors[posBigTable] =
+ VectorizedBatchUtil.convertToStandardStructObjectInspector((StructObjectInspector) inputObjInspectors[posBigTable]);
// Call super VectorMapJoinOuterFilteredOperator, which calls super MapJoinOperator with
// new input inspector.