Skip to content

Commit

Permalink
HIVE-9414 - Fixup post HIVE-9264 - Merge encryption branch to trunk (…
Browse files Browse the repository at this point in the history
…Vikram Dixit via Brock)

git-svn-id: https://svn.apache.org/repos/asf/hive/trunk@1653411 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
Brock Noland committed Jan 21, 2015
1 parent 53cff8d commit e081135
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 2 deletions.
6 changes: 5 additions & 1 deletion itests/src/test/resources/testconfiguration.properties
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,11 @@ minitez.query.files.shared=alter_merge_2_orc.q,\
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,\
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,38 @@ private boolean checkColEquality(List<List<String>> grandParentColNames,
}

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());

Expand Down

0 comments on commit e081135

Please sign in to comment.