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