You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by br...@apache.org on 2015/01/21 01:33:34 UTC
svn commit: r1653411 - in /hive/trunk:
itests/src/test/resources/testconfiguration.properties
ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java
Author: brock
Date: Wed Jan 21 00:33:34 2015
New Revision: 1653411
URL: http://svn.apache.org/r1653411
Log:
HIVE-9414 - Fixup post HIVE-9264 - Merge encryption branch to trunk (Vikram Dixit via Brock)
Modified:
hive/trunk/itests/src/test/resources/testconfiguration.properties
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java
Modified: hive/trunk/itests/src/test/resources/testconfiguration.properties
URL: http://svn.apache.org/viewvc/hive/trunk/itests/src/test/resources/testconfiguration.properties?rev=1653411&r1=1653410&r2=1653411&view=diff
==============================================================================
--- hive/trunk/itests/src/test/resources/testconfiguration.properties (original)
+++ hive/trunk/itests/src/test/resources/testconfiguration.properties Wed Jan 21 00:33:34 2015
@@ -271,7 +271,11 @@ minitez.query.files.shared=alter_merge_2
auto_sortmerge_join_5.q,\
auto_sortmerge_join_7.q,\
auto_sortmerge_join_8.q,\
- auto_sortmerge_join_9.q
+ auto_sortmerge_join_9.q,\
+ auto_join30.q,\
+ auto_join21.q,\
+ auto_join29.q,\
+ auto_join_filters.q
minitez.query.files=bucket_map_join_tez1.q,\
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java?rev=1653411&r1=1653410&r2=1653411&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java Wed Jan 21 00:33:34 2015
@@ -507,7 +507,38 @@ public class ConvertJoinMapJoin implemen
}
public int getMapJoinConversionPos(JoinOperator joinOp, OptimizeTezProcContext context,
- int buckets) {
+ int buckets) throws SemanticException {
+ /*
+ * HIVE-9038: Join tests fail in tez when we have more than 1 join on the same key and there is
+ * an outer join down the join tree that requires filterTag. We disable this conversion to map
+ * join here now. We need to emulate the behavior of HashTableSinkOperator as in MR or create a
+ * new operation to be able to support this. This seems like a corner case enough to special
+ * case this for now.
+ */
+ if (joinOp.getConf().getConds().length > 1) {
+ boolean hasOuter = false;
+ for (JoinCondDesc joinCondDesc : joinOp.getConf().getConds()) {
+ switch (joinCondDesc.getType()) {
+ case JoinDesc.INNER_JOIN:
+ case JoinDesc.LEFT_SEMI_JOIN:
+ case JoinDesc.UNIQUE_JOIN:
+ hasOuter = false;
+ break;
+
+ case JoinDesc.FULL_OUTER_JOIN:
+ case JoinDesc.LEFT_OUTER_JOIN:
+ case JoinDesc.RIGHT_OUTER_JOIN:
+ hasOuter = true;
+ break;
+
+ default:
+ throw new SemanticException("Unknown join type " + joinCondDesc.getType());
+ }
+ }
+ if (hasOuter) {
+ return -1;
+ }
+ }
Set<Integer> bigTableCandidateSet =
MapJoinProcessor.getBigTableCandidates(joinOp.getConf().getConds());