diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SharedWorkOptimizer.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SharedWorkOptimizer.java index 0e16b7bfbe..f6b43dbb3d 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SharedWorkOptimizer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SharedWorkOptimizer.java @@ -924,6 +924,12 @@ private static boolean areMergeable(ParseContext pctx, SharedWorkOptimizerCache if (!prevTsOpPPList.getPartitions().equals(tsOpPPList.getPartitions())) { return false; } + + if(!Objects.equals(tsOp1.getConf().getIncludedBuckets(), + tsOp2.getConf().getIncludedBuckets())) { + return false; + } + return true; } @@ -1456,6 +1462,7 @@ private static boolean compareOperator(ParseContext pctx, Operator op1, Opera && pctx.getPrunedPartitions(tsOp1).getPartitions().equals( pctx.getPrunedPartitions(tsOp2).getPartitions()) && op1Conf.getRowLimit() == op2Conf.getRowLimit() + && Objects.equals(op1Conf.getIncludedBuckets(), op2Conf.getIncludedBuckets()) && Objects.equals(op1Conf.getOpProps(), op2Conf.getOpProps())) { return true; } else { diff --git a/ql/src/test/queries/clientpositive/mergejoin.q b/ql/src/test/queries/clientpositive/mergejoin.q index 8636f1320e..0da7eee61c 100644 --- a/ql/src/test/queries/clientpositive/mergejoin.q +++ b/ql/src/test/queries/clientpositive/mergejoin.q @@ -17,6 +17,8 @@ set hive.vectorized.execution.enabled=true; set hive.tez.min.bloom.filter.entries=1; set hive.tez.bigtable.minsize.semijoin.reduction=1; +set hive.tez.bucket.pruning=true; + -- SORT_QUERY_RESULTS explain vectorization detail