Skip to content

Commit 072bb29

Browse files
committed
revert: remove CollectLeft partition mode for broadcast hash joins
Reverting the CollectLeft change as it causes multiple test failures in CI including ArrayIndexOutOfBoundsException in NativeUtil.exportBatch and assertion failures in native code.
1 parent de889ba commit 072bb29

1 file changed

Lines changed: 3 additions & 8 deletions

File tree

native/core/src/execution/planner.rs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1663,20 +1663,14 @@ impl PhysicalPlanner {
16631663
let left = Arc::clone(&join_params.left.native_plan);
16641664
let right = Arc::clone(&join_params.right.native_plan);
16651665

1666-
let partition_mode = if join.is_broadcast {
1667-
PartitionMode::CollectLeft
1668-
} else {
1669-
PartitionMode::Partitioned
1670-
};
1671-
16721666
let hash_join = Arc::new(HashJoinExec::try_new(
16731667
left,
16741668
right,
16751669
join_params.join_on,
16761670
join_params.join_filter,
16771671
&join_params.join_type,
16781672
None,
1679-
partition_mode,
1673+
PartitionMode::Partitioned,
16801674
// null doesn't equal to null in Spark join key. If the join key is
16811675
// `EqualNullSafe`, Spark will rewrite it during planning.
16821676
NullEquality::NullEqualsNothing,
@@ -1693,7 +1687,8 @@ impl PhysicalPlanner {
16931687
)),
16941688
))
16951689
} else {
1696-
let swapped_hash_join = hash_join.as_ref().swap_inputs(partition_mode)?;
1690+
let swapped_hash_join =
1691+
hash_join.as_ref().swap_inputs(PartitionMode::Partitioned)?;
16971692

16981693
let mut additional_native_plans = vec![];
16991694
if swapped_hash_join.as_any().is::<ProjectionExec>() {

0 commit comments

Comments
 (0)