Skip to content

Commit 3405234

Browse files
authored
Move SMJ join filtered part out of join_output stage. LeftOuter, LeftSemi (#12764)
* WIP: move filtered join out of join_output stage * WIP: move filtered join out of join_output stage * WIP: move filtered join out of join_output stage * cleanup * cleanup * Move Left/LeftAnti filtered SMJ join out of join partial stage * Move Left/LeftAnti filtered SMJ join out of join partial stage * Address comments
1 parent 42f9060 commit 3405234

File tree

3 files changed

+1061
-524
lines changed

3 files changed

+1061
-524
lines changed

datafusion/core/tests/fuzz_cases/join_fuzz.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,16 +125,14 @@ async fn test_left_join_1k() {
125125
}
126126

127127
#[tokio::test]
128-
// flaky for HjSmj case
129-
// https://github.com/apache/datafusion/issues/12359
130128
async fn test_left_join_1k_filtered() {
131129
JoinFuzzTestCase::new(
132130
make_staggered_batches(1000),
133131
make_staggered_batches(1000),
134132
JoinType::Left,
135133
Some(Box::new(col_lt_col_filter)),
136134
)
137-
.run_test(&[JoinTestType::NljHj], false)
135+
.run_test(&[JoinTestType::HjSmj, JoinTestType::NljHj], false)
138136
.await
139137
}
140138

@@ -229,6 +227,7 @@ async fn test_anti_join_1k() {
229227
#[tokio::test]
230228
// flaky for HjSmj case, giving 1 rows difference sometimes
231229
// https://github.com/apache/datafusion/issues/11555
230+
#[ignore]
232231
async fn test_anti_join_1k_filtered() {
233232
JoinFuzzTestCase::new(
234233
make_staggered_batches(1000),
@@ -515,14 +514,11 @@ impl JoinFuzzTestCase {
515514
"input2",
516515
);
517516

518-
if join_tests.contains(&JoinTestType::NljHj)
519-
&& join_tests.contains(&JoinTestType::NljHj)
520-
&& nlj_rows != hj_rows
521-
{
517+
if join_tests.contains(&JoinTestType::NljHj) && nlj_rows != hj_rows {
522518
println!("=============== HashJoinExec ==================");
523519
hj_formatted_sorted.iter().for_each(|s| println!("{}", s));
524520
println!("=============== NestedLoopJoinExec ==================");
525-
smj_formatted_sorted.iter().for_each(|s| println!("{}", s));
521+
nlj_formatted_sorted.iter().for_each(|s| println!("{}", s));
526522

527523
Self::save_partitioned_batches_as_parquet(
528524
&nlj_collected,

0 commit comments

Comments
 (0)