alamb opened a new issue, #24734:
URL: https://github.com/apache/datafusion/issues/24734
### Describe the bug
CI is failing on main. For example:
```
failures:
joins::hash_join::exec::tests::test_partitioned_null_equal_dynamic_filter_keeps_probe_nulls_for_build_logical_null
test result: FAILED. 1884 passed; 1 failed; 0 ignored; 0 measured; 0
filtered out; finished in 5.47s
error: test failed, to rerun pass `-p datafusion-physical-plan --lib`
```
Examples:
-
https://github.com/apache/datafusion/actions/runs/33094218385/job/98610742394
-
https://github.com/apache/datafusion/actions/runs/33081232373/job/98548690969
<details><summary>Full test failure</summary>
<p>
```
----
joins::hash_join::exec::tests::test_partitioned_null_equal_dynamic_filter_keeps_probe_nulls_for_build_logical_null
stdout ----
thread
'joins::hash_join::exec::tests::test_partitioned_null_equal_dynamic_filter_keeps_probe_nulls_for_build_logical_null'
(55419) panicked at
datafusion/physical-plan/src/joins/hash_join/exec.rs:7739:9:
expected a routed partitioned filter, got: c2@0 IS NULL OR c2@0 >= 1 AND
c2@0 <= 2 AND c2@0 IN (SET) ([1, NULL, 2])
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2:
datafusion_physical_plan::joins::hash_join::exec::tests::test_partitioned_null_equal_dynamic_filter_keeps_probe_nulls_for_build_logical_null::{closure#0}
3: <core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(), datafusion_common::error::DataFusionError>>> as
core::future::future::Future>::poll
4: <core::pin::Pin<&mut core::pin::Pin<&mut dyn
core::future::future::Future<Output = core::result::Result<(),
datafusion_common::error::DataFusionError>>>> as
core::future::future::Future>::poll
5:
<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut
core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(),
datafusion_common::error::DataFusionError>>>>>::{closure#0}::{closure#0}::{closure#0}
6:
<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut
core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(),
datafusion_common::error::DataFusionError>>>>>::{closure#0}::{closure#0}
7:
<tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<core::result::Result<(),
datafusion_common::error::DataFusionError>>,
<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut
core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(),
datafusion_common::error::DataFusionError>>>>>::{closure#0}::{closure#0}>
8:
<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut
core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(),
datafusion_common::error::DataFusionError>>>>>::{closure#0}
9:
<tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut
core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(),
datafusion_common::error::DataFusionError>>>>>::{closure#0},
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>>::{closure#0}
10:
<tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut
core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(),
datafusion_common::error::DataFusionError>>>>>::{closure#0},
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>>::{closure#0},
(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>,
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>)>
11:
tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>,
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>),
<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut
core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(),
datafusion_common::error::DataFusionError>>>>>::{closure#0},
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>>::{closure#0}>::{closure#0}
12:
<std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>,
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>),
<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut
core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(),
datafusion_common::error::DataFusionError>>>>>::{closure#0},
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>>::{closure#0}>::{closure#0},
(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>,
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>)>
13:
<std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>,
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>),
<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut
core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(),
datafusion_common::error::DataFusionError>>>>>::{closure#0},
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>>::{closure#0}>::{closure#0},
(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>,
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>)>
14:
tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>,
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>),
<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut
core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(),
datafusion_common::error::DataFusionError>>>>>::{closure#0},
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>>::{closure#0}>
15:
<tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut
core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(),
datafusion_common::error::DataFusionError>>>>>::{closure#0},
core::option::Option<core::result::Result<(),
datafusion_common::error::DataFusionError>>>
16:
<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut
core::pin::Pin<&mut dyn core::future::future::Future<Output =
core::result::Result<(), datafusion_common::error::DataFusionError>>>>>
17:
<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut
dyn core::future::future::Future<Output = core::result::Result<(),
datafusion_common::error::DataFusionError>>>>::{closure#0}
18:
tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut
dyn core::future::future::Future<Output = core::result::Result<(),
datafusion_common::error::DataFusionError>>>>::{closure#0},
core::result::Result<(), datafusion_common::error::DataFusionError>>
19:
<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut
dyn core::future::future::Future<Output = core::result::Result<(),
datafusion_common::error::DataFusionError>>>>
20:
<tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn
core::future::future::Future<Output = core::result::Result<(),
datafusion_common::error::DataFusionError>>>>
21: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn
core::future::future::Future<Output = core::result::Result<(),
datafusion_common::error::DataFusionError>>>>
22:
datafusion_physical_plan::joins::hash_join::exec::tests::test_partitioned_null_equal_dynamic_filter_keeps_probe_nulls_for_build_logical_null
23:
datafusion_physical_plan::joins::hash_join::exec::tests::test_partitioned_null_equal_dynamic_filter_keeps_probe_nulls_for_build_logical_null::{closure#0}
24:
<datafusion_physical_plan::joins::hash_join::exec::tests::test_partitioned_null_equal_dynamic_filter_keeps_probe_nulls_for_build_logical_null::{closure#0}
as core::ops::function::FnOnce<()>>::call_once
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose
backtrace.
failures:
joins::hash_join::exec::tests::test_partitioned_null_equal_dynamic_filter_keeps_probe_nulls_for_build_logical_null
test result: FAILED. 1884 passed; 1 failed; 0 ignored; 0 measured; 0
filtered out; finished in 5.47s
error: test failed, to rerun pass `-p datafusion-physical-plan --lib`
Error: Process completed with exit code 101.
```
</p>
</details>
### To Reproduce
Looks like the first PR it happened to is here:
- https://github.com/apache/datafusion/pull/24587
### Expected behavior
CI should pass
### Additional context
_No response_
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]