[ 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