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

Gunther Hagleitner commented on HIVE-15279:
-------------------------------------------

Hm. Can you explain how this works now/ why you had to change the patch 
(equals/hash, etc)?

{noformat}
125      l4j.info("Main work is " + reduceWork.getName());
126         List<HashTableDummyOperator> workOps = reduceWork.getDummyOps();
127         HashSet<HashTableDummyOperator> dummyOps = workOps == null ? null : 
new HashSet<>(workOps);
126         tagToReducerMap.put(redWork.getTag(), redWork);     128         
tagToReducerMap.put(redWork.getTag(), redWork);
127         if (mergeWorkList != null) {        129         if (mergeWorkList 
!= null) {
128           for (BaseWork mergeWork : mergeWorkList) {        130           
for (BaseWork mergeWork : mergeWorkList) {
131             if (l4j.isDebugEnabled()) {
132               l4j.debug("Additional work " + mergeWork.getName());
133             }
134             workOps = mergeWork.getDummyOps();
135             if (workOps != null) {
136               if (dummyOps == null) {
137                 dummyOps = new HashSet<>(workOps);
138               } else {
139                 dummyOps.addAll(workOps);
140               }
{noformat}

This seems unnecessarily confusing to me. Can't we just always have empty 
lists/hash instead of distinguishing between empty and null?

Also, before commit can you either resolve or remove the TODO? 

{noformat}
LOG.debug("Setting dummy ops for work " + work.getName() + ": " + dummyOps);
{noformat}

Isn't really that helpful to just know the id of the list of dummy ops, is it?


> map join dummy operators are not set up correctly in certain cases with merge 
> join
> ----------------------------------------------------------------------------------
>
>                 Key: HIVE-15279
>                 URL: https://issues.apache.org/jira/browse/HIVE-15279
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Sergey Shelukhin
>            Assignee: Sergey Shelukhin
>         Attachments: HIVE-15279.01.patch, HIVE-15279.02.patch, 
> HIVE-15279.patch
>
>
> As a result, MapJoin is not initialized and there's NPE later.
> Tez-specific.



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

Reply via email to