[ 
https://issues.apache.org/jira/browse/HIVE-10542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14520409#comment-14520409
 ] 

Gunther Hagleitner commented on HIVE-10542:
-------------------------------------------

{noformat}
      boolean nothingToDo = false;
441           for (int i = 0; i < fetchDone.length; i++) {
442             if (i == posBigTable) {
443               continue;
444             }
445             if (fetchInputAtClose.contains(i)) {
446               if (fetchDone[i] == false) {
447                 fetchNextGroup((byte) i);
448               }
449             } else {
450               if (ret == null || ret.size() == 0) {
451                 nothingToDo = true;
452                 break;
453               }
454             }
455           }
456           if (nothingToDo) {
{noformat}

This loop seems wrong. I think you probably want to check all aliases. Right 
now if you ever hit the else branch you might bail out of the loop not 
considering the aliases after it.

> Full outer joins in tez produce incorrect results in certain cases
> ------------------------------------------------------------------
>
>                 Key: HIVE-10542
>                 URL: https://issues.apache.org/jira/browse/HIVE-10542
>             Project: Hive
>          Issue Type: Bug
>          Components: Tez
>    Affects Versions: 1.0.0, 1.2.0, 1.1.0, 1.3.0
>            Reporter: Vikram Dixit K
>            Assignee: Vikram Dixit K
>            Priority: Blocker
>         Attachments: HIVE-10542.1.patch, HIVE-10542.2.patch
>
>
> If there is no records for one of the tables in the full outer join, we do 
> not read the other input and end up not producing rows which we should be.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to