[
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)