You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "rymarm (via GitHub)" <gi...@apache.org> on 2024/10/14 12:38:32 UTC
[PR] DRILL-8513: Right Hash Join with empty Left table ruturns 0 result (drill)
rymarm opened a new pull request, #2952:
URL: https://github.com/apache/drill/pull/2952
# [DRILL-8513](https://issues.apache.org/jira/browse/DRILL-8513): Right Hash Join with empty Left table ruturns 0 result
## Description
Drill returns no results on the right Hash Join if the probe(left) table is empty.
The root cause is simple. Stack-trace of the point of failure:
```
changeToFinalProbeState:123, HashJoinProbeTemplate (org.apache.drill.exec.physical.impl.join)
setup:105, ProbeTemplate (org.apache.drill.exec.physical.impl.join) <---- The issue comes from here. Because the changeToFinalProbeState() is called before all necessary variables are initialized by the HashJoinProbeTemplate#setup() method.
setup:45, HashJoinProbeTemplate (org.apache.drill.exec.physical.impl.join)
setupProbe:108, HashJoinBatch (org.apache.drill.exec.physical.impl.join)
innerNext:585, AbstractHashBinaryRecordBatch (org.apache.drill.exec.physical.impl.join)
```
`HashJoinProbeTemplate#setup()` calls it's super `#setup()` before `joinType` set and it makes `#changeToFinalProbeState()` set incorrect `ProbeState`. This code change comes from https://github.com/apache/drill/pull/2599
The solution is as simple as the bug: to call `ProbeTemplate#setup(`) at the end of `HashJoinProbeTemplate#setup()`.
## Documentation
\-
## Testing
New unit test with an empty left input for HashJoin.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@drill.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] DRILL-8513: Right Hash Join with empty Left table ruturns 0 result (drill)
Posted by "rymarm (via GitHub)" <gi...@apache.org>.
rymarm merged PR #2952:
URL: https://github.com/apache/drill/pull/2952
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@drill.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org