diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java index 438d70a..bedc3ac 100644 --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java @@ -647,7 +647,6 @@ private boolean hasDynamicPartitionBroadcast(Operator parent) { hasDynamicPartitionPruning = true; break; } - if (op instanceof ReduceSinkOperator || op instanceof FileSinkOperator) { // crossing reduce sink or file sink means the pruning isn't for this parent. break; diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/GenTezWork.java ql/src/java/org/apache/hadoop/hive/ql/parse/GenTezWork.java index 2c05855..364e8c9 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/GenTezWork.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/GenTezWork.java @@ -347,7 +347,8 @@ public Object process(Node nd, Stack stack, followingWork = mergeJoinWork; rWork = (ReduceWork) mergeJoinWork.getMainWork(); } else { - rWork = (ReduceWork) baseWork; + throw new SemanticException("Unknown work type found: " + + baseWork.getClass().getCanonicalName()); } } else { rWork = (ReduceWork) followingWork; @@ -402,6 +403,8 @@ private int getMergeIndex(TezWork tezWork, UnionWork unionWork, ReduceSinkOperat } else { index++; } + } else { + index++; } }