[
https://issues.apache.org/jira/browse/HIVE-2253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13135237#comment-13135237
]
Namit Jain commented on HIVE-2253:
----------------------------------
@Navis, your code changes look good.
Thanks for catching this.
For testing, the convention we have adopted is to have a test file for such a
case.
Look at the *.q files in ql/src/test/queries/clientpositive
Add a new .q file (say, mergejoins.q)
Add a explain plan in the .q file to check the number of map-reduce jobs etc.
You can run the test by executing:
ant test -Dtestcase=TestCliDriver -Dqfile=mergejoins.q
Verify that the output file mergejoins.q.out is correct, and check it in
ql/src/results/clientpositive
> Merge failing of join tree in exceptional case
> ----------------------------------------------
>
> Key: HIVE-2253
> URL: https://issues.apache.org/jira/browse/HIVE-2253
> Project: Hive
> Issue Type: Bug
> Components: Query Processor
> Affects Versions: 0.7.0
> Environment: hadoop 0.20.2, hive 0.7.0
> Reporter: Navis
> Assignee: Navis
> Priority: Minor
> Attachments: HIVE-2253-0.8.0.patch
>
>
> In some very exceptional cases, SemanticAnayzer fails to merge join tree.
> Example is below.
> create table a (val1 int, val2 int)
> create table b (val1 int, val2 int)
> create table c (val1 int, val2 int)
> create table d (val1 int, val2 int)
> create table e (val1 int, val2 int)
> 1. all same(single) join key --> one MR, good
> select * from a join b on a.val1=b.val1 join c on a.val1=c.val1 join d on
> a.val1=d.val1 join e on a.val1=e.val1
> 2. two join keys --> expected to have two MR, but resulted to three MR
> select * from a join b on a.val1=b.val1 join c on a.val1=c.val1 join d on
> a.val1=d.val1 join e on a.val2=e.val2
> 3. by changing the join order, we could attain two MR as first-expectation.
> select * from a join e on a.val2=e.val2 join c on a.val1=c.val1 join d on
> a.val1=d.val1 join b on a.val1=b.val1
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira