-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[Bug-Fix] Bucket shuffle join executes failed when two tables have no data #5145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug-Fix] Bucket shuffle join executes failed when two tables have no data #5145
Conversation
HappenLee
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's little tricky here. It's the problem of left olap scan node with no data cause there is no tablet to decide where to sender the data. when left table is no data, FE should not chose the bucket shuffle join is better.
//1 the left table must be only one partition
if (leftScanNode.getSelectedPartitionIds().size() != 1) {
return false;
}
good ideal. I will modify it. |
caiconghui
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
… data (apache#5145) Bucket shuffle join is an algorithm of joining two tables. Left table is distributed by a column. Right table sends the data to the left table for joining operation. It reduces the network cost. But when two table is without any data. Bucket shuffle join will fail. Related Issue: apache#5144
… data (apache#5145) Bucket shuffle join is an algorithm of joining two tables. Left table is distributed by a column. Right table sends the data to the left table for joining operation. It reduces the network cost. But when two table is without any data. Bucket shuffle join will fail. Related Issue: apache#5144
Proposed changes
Bucket shuffle join is a algorithm of joining two tables. Left table is distrubuted by a column. Right table sends the data to the left table for joining operation. It reduces the network cost. But when two table is withou any data. Bucket shuffle join will fail.
Related Issue: #5144
Types of changes
What types of changes does your code introduce to Doris?
Put an
xin the boxes that applyChecklist
Put an
xin the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.Further comments
If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...