You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2016/12/02 21:32:56 UTC
[3/3] hive git commit: HIVE-15278 : PTF+MergeJoin = NPE (Sergey
Shelukhin, reviewed by Gunther Hagleitner)
HIVE-15278 : PTF+MergeJoin = NPE (Sergey Shelukhin, reviewed by Gunther Hagleitner)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/2feaa5dc
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/2feaa5dc
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/2feaa5dc
Branch: refs/heads/master
Commit: 2feaa5dc99febb8fd0367d8bfa4fe20d44930adc
Parents: 12130c3
Author: Sergey Shelukhin <se...@apache.org>
Authored: Fri Dec 2 13:24:35 2016 -0800
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Fri Dec 2 13:32:28 2016 -0800
----------------------------------------------------------------------
.../apache/hadoop/hive/ql/exec/CommonMergeJoinOperator.java | 8 ++++++--
ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java | 8 ++++++--
2 files changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/2feaa5dc/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonMergeJoinOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonMergeJoinOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonMergeJoinOperator.java
index 002e49b..0b8eae8 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonMergeJoinOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonMergeJoinOperator.java
@@ -384,11 +384,15 @@ public class CommonMergeJoinOperator extends AbstractMapJoinOperator<CommonMerge
this.nextKeyWritables[t] = null;
}
}
+
+ @Override
+ public void close(boolean abort) throws HiveException {
+ joinFinalLeftData(); // Do this WITHOUT checking for parents
+ super.close(abort);
+ }
@Override
public void closeOp(boolean abort) throws HiveException {
- joinFinalLeftData();
-
super.closeOp(abort);
// clean up
http://git-wip-us.apache.org/repos/asf/hive/blob/2feaa5dc/ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java
index 20f9d64..8b04cd4 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java
@@ -667,6 +667,9 @@ public abstract class Operator<T extends OperatorDesc> implements Serializable,C
// since it is called by its parents' main thread, so no
// more than 1 thread should call this close() function.
public void close(boolean abort) throws HiveException {
+ if (isLogDebugEnabled) {
+ LOG.debug("close called for operator " + this);
+ }
if (state == State.CLOSE) {
return;
@@ -683,12 +686,13 @@ public abstract class Operator<T extends OperatorDesc> implements Serializable,C
// set state as CLOSE as long as all parents are closed
// state == CLOSE doesn't mean all children are also in state CLOSE
state = State.CLOSE;
- if (isLogDebugEnabled) {
- LOG.debug(id + " finished. closing... ");
+ if (isLogInfoEnabled) {
+ LOG.info("Closing operator " + this);
}
abort |= abortOp.get();
+
// call the operator specific close routine
closeOp(abort);