Repository: hive
Updated Branches:
  refs/heads/branch-1.0 f81a9b39d -> deb35763d


HIVE-8518: Compile time skew join optimization returns duplicated results (Rui 
via Xuefu) merged from trunk r1633422

git-svn-id: https://svn.apache.org/repos/asf/hive/branches/spark@1633508 
13f79535-47bb-0310-9956-ffa450edef68


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

Branch: refs/heads/branch-1.0
Commit: 846dd922060f488bf29367744ecc4bcfa6efa160
Parents: f81a9b3
Author: Jason Dere <jd...@hortonworks.com>
Authored: Mon Aug 10 15:31:23 2015 -0700
Committer: Jason Dere <jd...@hortonworks.com>
Committed: Mon Aug 10 15:31:23 2015 -0700

----------------------------------------------------------------------
 .../hadoop/hive/ql/optimizer/SkewJoinOptimizer.java     | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/846dd922/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java
----------------------------------------------------------------------
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java 
b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java
index 54afbfe..e87c41b 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java
@@ -171,15 +171,17 @@ public class SkewJoinOptimizer implements Transform {
         joinOpClone = (JoinOperator)currOpClone;
       }
 
+      List<TableScanOperator> tableScanCloneOpsForJoin =
+          new ArrayList<TableScanOperator>();
+      if (!getTableScanOpsForJoin(joinOpClone, tableScanCloneOpsForJoin)) {
+        LOG.debug("Operator tree not properly cloned!");
+        return null;
+      }
+
       // Put the filter "skewed column = skewed keys" in op
       // and "skewed columns != skewed keys" in selectOpClone
       insertSkewFilter(tableScanOpsForJoin, skewedValues, true);
 
-      List<TableScanOperator> tableScanCloneOpsForJoin =
-        new ArrayList<TableScanOperator>();
-      assert
-        getTableScanOpsForJoin(joinOpClone, tableScanCloneOpsForJoin);
-
       insertSkewFilter(tableScanCloneOpsForJoin, skewedValues, false);
 
       // Update the topOps appropriately

Reply via email to