You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@datafusion.apache.org by "findepi (via GitHub)" <gi...@apache.org> on 2024/11/14 21:57:51 UTC

[I] When upgrading to DataFusion 43 some queries fail with panic "LeftMark join type does not support swapping" [datafusion]

findepi opened a new issue, #13425:
URL: https://github.com/apache/datafusion/issues/13425

   unfortunately i don't have a reproducer yet. will update once/if i find one
   
   stacktrace from the debugger, in case it's useful:
   
   ```
   [Inlined] datafusion::physical_optimizer::join_selection::swap_join_type join_selection.rs:137
   [Inlined] datafusion::physical_optimizer::join_selection::swap_nl_join join_selection.rs:226
   [Inlined] datafusion::physical_optimizer::join_selection::statistical_join_selection_subrule join_selection.rs:498
   [Inlined] <datafusion::physical_optimizer::join_selection::JoinSelection as datafusion_physical_optimizer::optimizer::PhysicalOptimizerRule>::optimize::{{closure}} join_selection.rs:337
   core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once function.rs:305
   [Inlined] datafusion_common::tree_node::Transformed<T>::transform_parent tree_node.rs:756
   datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl tree_node.rs:258
   [Inlined] datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl::{{closure}} tree_node.rs:258
   [Inlined] <I as datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect::{{closure}} tree_node.rs:826
   [Inlined] core::iter::adapters::map::map_try_fold::{{closure}} map.rs:96
   [Inlined] core::iter::adapters::cloned::clone_try_fold::{{closure}} cloned.rs:29
   <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::try_fold into_iter.rs:345
   [Inlined] <core::iter::adapters::cloned::Cloned<I> as core::iter::traits::iterator::Iterator>::try_fold cloned.rs:54
   [Inlined] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold map.rs:122
   [Inlined] <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::try_fold mod.rs:204
   [Inlined] core::iter::traits::iterator::Iterator::try_for_each iterator.rs:2472
   [Inlined] <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::next mod.rs:187
   <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter spec_from_iter_nested.rs:26
   [Inlined] alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter in_place_collect.rs:246
   [Inlined] <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter mod.rs:2977
   [Inlined] core::iter::traits::iterator::Iterator::collect iterator.rs:2005
   [Inlined] <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter::{{closure}} result.rs:1960
   core::iter::adapters::try_process mod.rs:173
   [Inlined] <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter result.rs:1960
   [Inlined] core::iter::traits::iterator::Iterator::collect iterator.rs:2005
   [Inlined] <I as datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect tree_node.rs:824
   <alloc::sync::Arc<T> as datafusion_common::tree_node::TreeNode>::map_children tree_node.rs:953
   datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl tree_node.rs:258
   [Inlined] datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl::{{closure}} tree_node.rs:258
   [Inlined] <I as datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect::{{closure}} tree_node.rs:826
   [Inlined] core::iter::adapters::map::map_try_fold::{{closure}} map.rs:96
   [Inlined] core::iter::adapters::cloned::clone_try_fold::{{closure}} cloned.rs:29
   <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::try_fold into_iter.rs:345
   [Inlined] <core::iter::adapters::cloned::Cloned<I> as core::iter::traits::iterator::Iterator>::try_fold cloned.rs:54
   [Inlined] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold map.rs:122
   [Inlined] <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::try_fold mod.rs:204
   [Inlined] core::iter::traits::iterator::Iterator::try_for_each iterator.rs:2472
   [Inlined] <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::next mod.rs:187
   <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter spec_from_iter_nested.rs:26
   [Inlined] alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter in_place_collect.rs:246
   [Inlined] <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter mod.rs:2977
   [Inlined] core::iter::traits::iterator::Iterator::collect iterator.rs:2005
   [Inlined] <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter::{{closure}} result.rs:1960
   core::iter::adapters::try_process mod.rs:173
   [Inlined] <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter result.rs:1960
   [Inlined] core::iter::traits::iterator::Iterator::collect iterator.rs:2005
   [Inlined] <I as datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect tree_node.rs:824
   <alloc::sync::Arc<T> as datafusion_common::tree_node::TreeNode>::map_children tree_node.rs:953
   datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl tree_node.rs:258
   [Inlined] datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl::{{closure}} tree_node.rs:258
   [Inlined] <I as datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect::{{closure}} tree_node.rs:826
   [Inlined] core::iter::adapters::map::map_try_fold::{{closure}} map.rs:96
   [Inlined] core::iter::adapters::cloned::clone_try_fold::{{closure}} cloned.rs:29
   <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::try_fold into_iter.rs:345
   [Inlined] <core::iter::adapters::cloned::Cloned<I> as core::iter::traits::iterator::Iterator>::try_fold cloned.rs:54
   [Inlined] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold map.rs:122
   [Inlined] <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::try_fold mod.rs:204
   [Inlined] core::iter::traits::iterator::Iterator::try_for_each iterator.rs:2472
   [Inlined] <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::next mod.rs:187
   <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter spec_from_iter_nested.rs:26
   [Inlined] alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter in_place_collect.rs:246
   [Inlined] <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter mod.rs:2977
   [Inlined] core::iter::traits::iterator::Iterator::collect iterator.rs:2005
   [Inlined] <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter::{{closure}} result.rs:1960
   core::iter::adapters::try_process mod.rs:173
   [Inlined] <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter result.rs:1960
   [Inlined] core::iter::traits::iterator::Iterator::collect iterator.rs:2005
   [Inlined] <I as datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect tree_node.rs:824
   <alloc::sync::Arc<T> as datafusion_common::tree_node::TreeNode>::map_children tree_node.rs:953
   datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl tree_node.rs:258
   [Inlined] datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl::{{closure}} tree_node.rs:258
   [Inlined] <I as datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect::{{closure}} tree_node.rs:826
   [Inlined] core::iter::adapters::map::map_try_fold::{{closure}} map.rs:96
   [Inlined] core::iter::adapters::cloned::clone_try_fold::{{closure}} cloned.rs:29
   <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::try_fold into_iter.rs:345
   [Inlined] <core::iter::adapters::cloned::Cloned<I> as core::iter::traits::iterator::Iterator>::try_fold cloned.rs:54
   [Inlined] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold map.rs:122
   [Inlined] <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::try_fold mod.rs:204
   [Inlined] core::iter::traits::iterator::Iterator::try_for_each iterator.rs:2472
   [Inlined] <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::next mod.rs:187
   <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter spec_from_iter_nested.rs:26
   [Inlined] alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter in_place_collect.rs:246
   [Inlined] <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter mod.rs:2977
   [Inlined] core::iter::traits::iterator::Iterator::collect iterator.rs:2005
   [Inlined] <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter::{{closure}} result.rs:1960
   core::iter::adapters::try_process mod.rs:173
   [Inlined] <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter result.rs:1960
   [Inlined] core::iter::traits::iterator::Iterator::collect iterator.rs:2005
   [Inlined] <I as datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect tree_node.rs:824
   <alloc::sync::Arc<T> as datafusion_common::tree_node::TreeNode>::map_children tree_node.rs:953
   datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl tree_node.rs:258
   [Inlined] datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl::{{closure}} tree_node.rs:258
   [Inlined] <I as datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect::{{closure}} tree_node.rs:826
   [Inlined] core::iter::adapters::map::map_try_fold::{{closure}} map.rs:96
   [Inlined] core::iter::adapters::cloned::clone_try_fold::{{closure}} cloned.rs:29
   <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::try_fold into_iter.rs:345
   [Inlined] <core::iter::adapters::cloned::Cloned<I> as core::iter::traits::iterator::Iterator>::try_fold cloned.rs:54
   [Inlined] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold map.rs:122
   [Inlined] <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::try_fold mod.rs:204
   [Inlined] core::iter::traits::iterator::Iterator::try_for_each iterator.rs:2472
   [Inlined] <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::next mod.rs:187
   <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter spec_from_iter_nested.rs:26
   [Inlined] alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter in_place_collect.rs:246
   [Inlined] <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter mod.rs:2977
   [Inlined] core::iter::traits::iterator::Iterator::collect iterator.rs:2005
   [Inlined] <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter::{{closure}} result.rs:1960
   core::iter::adapters::try_process mod.rs:173
   [Inlined] <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter result.rs:1960
   [Inlined] core::iter::traits::iterator::Iterator::collect iterator.rs:2005
   [Inlined] <I as datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect tree_node.rs:824
   <alloc::sync::Arc<T> as datafusion_common::tree_node::TreeNode>::map_children tree_node.rs:953
   datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl tree_node.rs:258
   [Inlined] datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl::{{closure}} tree_node.rs:258
   [Inlined] <I as datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect::{{closure}} tree_node.rs:826
   [Inlined] core::iter::adapters::map::map_try_fold::{{closure}} map.rs:96
   [Inlined] core::iter::adapters::cloned::clone_try_fold::{{closure}} cloned.rs:29
   <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::try_fold into_iter.rs:345
   [Inlined] <core::iter::adapters::cloned::Cloned<I> as core::iter::traits::iterator::Iterator>::try_fold cloned.rs:54
   [Inlined] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold map.rs:122
   [Inlined] <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::try_fold mod.rs:204
   [Inlined] core::iter::traits::iterator::Iterator::try_for_each iterator.rs:2472
   [Inlined] <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::next mod.rs:187
   <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter spec_from_iter_nested.rs:26
   [Inlined] alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter in_place_collect.rs:246
   [Inlined] <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter mod.rs:2977
   [Inlined] core::iter::traits::iterator::Iterator::collect iterator.rs:2005
   [Inlined] <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter::{{closure}} result.rs:1960
   core::iter::adapters::try_process mod.rs:173
   [Inlined] <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter result.rs:1960
   [Inlined] core::iter::traits::iterator::Iterator::collect iterator.rs:2005
   [Inlined] <I as datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect tree_node.rs:824
   <alloc::sync::Arc<T> as datafusion_common::tree_node::TreeNode>::map_children tree_node.rs:953
   datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl tree_node.rs:258
   [Inlined] datafusion_common::tree_node::TreeNode::transform_up tree_node.rs:262
   <datafusion::physical_optimizer::join_selection::JoinSelection as datafusion_physical_optimizer::optimizer::PhysicalOptimizerRule>::optimize join_selection.rs:335
   datafusion::physical_planner::DefaultPhysicalPlanner::optimize_physical_plan physical_planner.rs:1849
   <datafusion::physical_planner::DefaultPhysicalPlanner as datafusion::physical_planner::PhysicalPlanner>::create_physical_plan::{{closure}} physical_planner.rs:184
   [Inlined] <core::pin::Pin<P> as core::future::future::Future>::poll future.rs:123
   <datafusion::execution::session_state::DefaultQueryPlanner as datafusion::execution::context::QueryPlanner>::create_physical_plan::{{closure}} session_state.rs:1846
   datafusion::execution::session_state::SessionState::create_physical_plan::{{closure}} session_state.rs:715
   datafusion::dataframe::DataFrame::create_physical_plan::{{closure}} mod.rs:218
   datafusion::dataframe::DataFrame::collect_partitioned::{{closure}} mod.rs:1295
   datafusion::execution::context::SessionContext::create_memory_table::{{closure}} mod.rs:806
   <core::pin::Pin<P> as core::future::future::Future>::poll future.rs:123
   datafusion::execution::context::SessionContext::execute_logical_plan::{{closure}} mod.rs:661
   ```


-- 
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: github-unsubscribe@datafusion.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [I] When upgrading to DataFusion 43 some queries fail with panic "LeftMark join type does not support swapping" [datafusion]

Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb closed issue #13425: When upgrading to DataFusion 43 some queries fail with panic "LeftMark join type does not support swapping"
URL: https://github.com/apache/datafusion/issues/13425


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [I] When upgrading to DataFusion 43 some queries fail with panic "LeftMark join type does not support swapping" [datafusion]

Posted by "findepi (via GitHub)" <gi...@apache.org>.
findepi commented on issue #13425:
URL: https://github.com/apache/datafusion/issues/13425#issuecomment-2477496620

   take


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org