DRILL-8513: Right Hash Join with empty Left table ruturns 0 result #2952
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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:
HashJoinProbeTemplate#setup()
calls it's super#setup()
beforejoinType
set and it makes#changeToFinalProbeState()
set incorrectProbeState
. This code change comes from #2599The solution is as simple as the bug: to call
ProbeTemplate#setup(
) at the end ofHashJoinProbeTemplate#setup()
.Documentation
-
Testing
New unit test with an empty left input for HashJoin.