-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Remove CoalescePartitions insertion from Joins #15570
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
Conversation
This backs out commit 4346cb8.
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.
The changes are LGTM, thank you @ctsk for tracking and finalizing this issue
I wonder if there is any way to write some tests for this (perhaps via |
🤖 |
I don't think a redundant exec can be removed since if the input is 1 partition, it was already not introducing a new one, and what we see is input is always 1 (enforce distribution does its job 👏🏻), because we don't get any plan changes |
I see -- this is code simplification 👍 |
🤖: Benchmark completed Details
|
TLDR is benchmark results look good to me -- thanks @ctsk ! |
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.
Thank you @ctsk and @berkaysynnada
@@ -282,6 +282,13 @@ impl ExecutionPlan for CrossJoinExec { | |||
partition: usize, | |||
context: Arc<TaskContext>, | |||
) -> Result<SendableRecordBatchStream> { | |||
if self.left.output_partitioning().partition_count() != 1 { |
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.
love it
* refactor: Catch PartitionMode:Auto in execute explicitly * refactor(hash_join): Move coalesce logic into function * refactor(hash_join): Move coalesce logic out of collect_left_input * refactor(hash_join): Execute build side earlier * chore(hash_join): Drop unnecessary clippy hint \o/ * Back out "refactor: Catch PartitionMode:Auto in execute explicitly" This backs out commit 4346cb8. * Remove CoalescePartitions from CollectLeft-HashJoins * Fix imports * Fix tests * Check CollectLeft-HJ distribution in execute * Fix repeated execute; propagate execute error * Remove CoalescePartitions from nested_loop_join * Execute left side earlier in nested_loop_join * Remove CoalescePartitions from cross_join * Execute left side earlier in cross_join * Remove unused import * Fix docs * Remove dead comment * Throw error on unexpected distribution
Continuing #15476 and #15418
Notable changes: