Skip to content

Commit 5950f2c

Browse files
committed
fix(tests): CI green-up after union-bounds root fix
- filter_pushdown.rs: enable enable_hash_join_dynamic_membership_filter in test_hashjoin_hash_table_pushdown_{collect_left,partitioned} (they specifically exercise HashTableLookupExpr; membership default is now false). - filter_pushdown.rs: refresh test_hashjoin_dynamic_filter_pushdown_collect_left and the force_hash_collisions branch snapshots (bounds only, no IN (SET) since membership is off by default). - clickbench.slt, preserve_file_partitioning.slt, projection_pushdown.slt, repartition_subset_satisfaction.slt: regenerated for post-#22384 plan display + membership-off default. - configs.md: prettier reformat (trailing whitespace).
1 parent 836f46e commit 5950f2c

6 files changed

Lines changed: 115 additions & 97 deletions

File tree

datafusion/core/tests/physical_optimizer/filter_pushdown.rs

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1101,7 +1101,7 @@ async fn test_hashjoin_dynamic_filter_pushdown_partitioned() {
11011101
- RepartitionExec: partitioning=Hash([a@0, b@1], 12), input_partitions=1
11021102
- DataSourceExec: file_groups={1 group: [[test.parquet]]}, projection=[a, b, c], file_type=test, pushdown_supported=true
11031103
- RepartitionExec: partitioning=Hash([a@0, b@1], 12), input_partitions=1
1104-
- DataSourceExec: file_groups={1 group: [[test.parquet]]}, projection=[a, b, e], file_type=test, pushdown_supported=true, predicate=DynamicFilter [ a@0 >= aa AND a@0 <= ab AND b@1 >= ba AND b@1 <= bb AND struct(a@0, b@1) IN (SET) ([{c0:aa,c1:ba}, {c0:ab,c1:bb}]) ]
1104+
- DataSourceExec: file_groups={1 group: [[test.parquet]]}, projection=[a, b, e], file_type=test, pushdown_supported=true, predicate=DynamicFilter [ a@0 >= aa AND a@0 <= ab AND b@1 >= ba AND b@1 <= bb ]
11051105
"
11061106
);
11071107

@@ -1279,7 +1279,7 @@ async fn test_hashjoin_dynamic_filter_pushdown_collect_left() {
12791279
- HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(a@0, a@0), (b@1, b@1)]
12801280
- DataSourceExec: file_groups={1 group: [[test.parquet]]}, projection=[a, b, c], file_type=test, pushdown_supported=true
12811281
- RepartitionExec: partitioning=Hash([a@0, b@1], 12), input_partitions=1
1282-
- DataSourceExec: file_groups={1 group: [[test.parquet]]}, projection=[a, b, e], file_type=test, pushdown_supported=true, predicate=DynamicFilter [ a@0 >= aa AND a@0 <= ab AND b@1 >= ba AND b@1 <= bb AND struct(a@0, b@1) IN (SET) ([{c0:aa,c1:ba}, {c0:ab,c1:bb}]) ]
1282+
- DataSourceExec: file_groups={1 group: [[test.parquet]]}, projection=[a, b, e], file_type=test, pushdown_supported=true, predicate=DynamicFilter [ a@0 >= aa AND a@0 <= ab AND b@1 >= ba AND b@1 <= bb ]
12831283
"
12841284
);
12851285

@@ -2552,12 +2552,18 @@ async fn test_hashjoin_hash_table_pushdown_partitioned() {
25522552
cp,
25532553
)) as Arc<dyn ExecutionPlan>;
25542554

2555-
// Apply the optimization with config setting that forces HashTable strategy
2555+
// Apply the optimization with config setting that forces HashTable strategy.
2556+
// Membership gate is opt-in (default false since #23701); this test explicitly
2557+
// exercises `HashTableLookupExpr`, so enable it here.
25562558
let session_config = SessionConfig::default()
25572559
.with_batch_size(10)
25582560
.set_usize("datafusion.optimizer.hash_join_inlist_pushdown_max_size", 1)
25592561
.set_bool("datafusion.execution.parquet.pushdown_filters", true)
2560-
.set_bool("datafusion.optimizer.enable_dynamic_filter_pushdown", true);
2562+
.set_bool("datafusion.optimizer.enable_dynamic_filter_pushdown", true)
2563+
.set_bool(
2564+
"datafusion.optimizer.enable_hash_join_dynamic_membership_filter",
2565+
true,
2566+
);
25612567
let plan = FilterPushdown::new_post_optimization()
25622568
.optimize(plan, session_config.options())
25632569
.unwrap();
@@ -2703,12 +2709,18 @@ async fn test_hashjoin_hash_table_pushdown_collect_left() {
27032709
cp,
27042710
)) as Arc<dyn ExecutionPlan>;
27052711

2706-
// Apply the optimization with config setting that forces HashTable strategy
2712+
// Apply the optimization with config setting that forces HashTable strategy.
2713+
// Membership gate is opt-in (default false since #23701); this test explicitly
2714+
// exercises `HashTableLookupExpr`, so enable it here.
27072715
let session_config = SessionConfig::default()
27082716
.with_batch_size(10)
27092717
.set_usize("datafusion.optimizer.hash_join_inlist_pushdown_max_size", 1)
27102718
.set_bool("datafusion.execution.parquet.pushdown_filters", true)
2711-
.set_bool("datafusion.optimizer.enable_dynamic_filter_pushdown", true);
2719+
.set_bool("datafusion.optimizer.enable_dynamic_filter_pushdown", true)
2720+
.set_bool(
2721+
"datafusion.optimizer.enable_hash_join_dynamic_membership_filter",
2722+
true,
2723+
);
27122724
let plan = FilterPushdown::new_post_optimization()
27132725
.optimize(plan, session_config.options())
27142726
.unwrap();

0 commit comments

Comments
 (0)