Remove CoalescePartitions insertion from Joins#15570
Conversation
This backs out commit 4346cb8.
berkaysynnada
left a comment
There was a problem hiding this comment.
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 ! |
alamb
left a comment
There was a problem hiding this comment.
Thank you @ctsk and @berkaysynnada
| partition: usize, | ||
| context: Arc<TaskContext>, | ||
| ) -> Result<SendableRecordBatchStream> { | ||
| if self.left.output_partitioning().partition_count() != 1 { |
* 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: