You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Henry Robinson (JIRA)" <ji...@apache.org> on 2017/09/01 07:30:00 UTC

[jira] [Created] (IMPALA-5887) Hung union query

Henry Robinson created IMPALA-5887:
--------------------------------------

             Summary: Hung union query
                 Key: IMPALA-5887
                 URL: https://issues.apache.org/jira/browse/IMPALA-5887
             Project: IMPALA
          Issue Type: Bug
    Affects Versions: Impala 2.10.0
            Reporter: Henry Robinson
            Priority: Critical


During an exhaustive test run on CentOS 7.0, I noticed the following query hung for 2.5 hours:

{code}
select count(c) from ( select bigint_col + 1 as c from functional.alltypes limit 15 union all select bigint_col as c from functional.alltypes limit 15 union all select bigint_col + 1 as c from functional.alltypes limit 15 union all (select bigint_col as c from functional.alltypes limit 15)) t
{code}

There was one fragment instance still running which was waiting on some hdfs scanner threads to complete. Unfortunately taking the {{pstack}} caused the threads to unblock themselves, and the query completed.

{code}
Thread 1 (process 18704):
#0  0x00007f47592a9705 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00000000013648e5 in boost::condition_variable::wait (this=0x1b303c858, m=...) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/pthread/condition_variable.hpp:73
#2  0x0000000001d89d8c in boost::thread::join_noexcept() ()
#3  0x00000000015148ab in boost::thread::join (this=0x181d458f0) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:767
#4  0x0000000001514f3e in impala::Thread::Join (this=0x1a983220) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/util/thread.h:106
#5  0x00000000017fa67e in impala::ThreadGroup::JoinAll (this=0x181d856c8) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/util/thread.cc:338
#6  0x000000000189be87 in impala::HdfsScanNode::Close (this=0x181d85000, state=0xbf38800) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/exec/hdfs-scan-node.cc:236
#7  0x0000000001a515e1 in impala::UnionNode::GetNextMaterialized (this=0x171f5680, state=0xbf38800, row_batch=0x7f469d2561f0) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/exec/union-node.cc:242
#8  0x0000000001a5272b in impala::UnionNode::GetNext (this=0x171f5680, state=0xbf38800, row_batch=0x7f469d2561f0, eos=0x7f469d25639f) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/exec/union-node.cc:297
#9  0x00000000019e4f09 in impala::PartitionedAggregationNode::Open (this=0x25251900, state=0xbf38800) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/exec/partitioned-aggregation-node.cc:302
#10 0x00000000015f74ab in impala::FragmentInstanceState::Open (this=0x150b3480) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/runtime/fragment-instance-state.cc:256
#11 0x00000000015f4fd7 in impala::FragmentInstanceState::Exec (this=0x150b3480) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/runtime/fragment-instance-state.cc:80
#12 0x00000000015bb5d2 in impala::QueryState::ExecFInstance (this=0x16cad600, fis=0x150b3480) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/runtime/query-state.cc:351
#13 0x00000000015ba102 in impala::QueryState::<lambda()>::operator()(void) const (__closure=0x7f469d256c28) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/runtime/query-state.cc:319
#14 0x00000000015bc283 in boost::detail::function::void_function_obj_invoker0<impala::QueryState::StartFInstances()::<lambda()>, void>::invoke(boost::detail::function::function_buffer &) (function_obj_ptr=...) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153
#15 0x000000000152d542 in boost::function0<void>::operator() (this=0x7f469d256c20) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:767
#16 0x00000000017fa4eb in impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*) (name=..., category=..., functor=..., thread_started=0x7f468003ec40) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/util/thread.cc:329
#17 0x0000000001802e26 in boost::_bi::list4<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::Promise<long>*> >::operator()<void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*), boost::_bi::list0>(boost::_bi::type<void>, void (*&)(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*), boost::_bi::list0&, int) (this=0x13f7cdfc0, f=@0x13f7cdfb8: 0x17fa1cc <impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*)>, a=...) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:457
#18 0x0000000001802d69 in boost::_bi::bind_t<void, void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*), boost::_bi::list4<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::Promise<long>*> > >::operator()() (this=0x13f7cdfb8) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20
#19 0x0000000001802d2c in boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*), boost::_bi::list4<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::Promise<long>*> > > >::run() (this=0x13f7cde00) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116
#20 0x0000000001d8935a in thread_proxy ()
#21 0x00007f47592a5df3 in start_thread () from /lib64/libpthread.so.0
#22 0x00007f4758fd31ad in clone () from /lib64/libc.so.6
{code}

{code}
[root@impala-boost-static-burst-slave-el7-18a2 ~]# pstack 18717
Thread 1 (process 18717):
#0  0x00007f47592a9705 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000000001521f0f in impala::ConditionVariable::Wait (this=0x82f4940, lock=...) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/util/condition-variable.h:40
#2  0x00000000018883ad in impala::BlockingQueue<std::unique_ptr<impala::RowBatch, std::default_delete<impala::RowBatch> > >::BlockingPut<std::unique_ptr<impala::RowBatch, std::default_delete<impala::RowBatch> > >(std::unique_ptr<impala::RowBatch, std::default_delete<impala::RowBatch> >&&) (this=0x82f48c0, val=...) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/util/blocking-queue.h:120
#3  0x0000000001881d13 in impala::ExecNode::RowBatchQueue::AddBatch (this=0x82f48c0, batch=...) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/exec/exec-node.cc:94
#4  0x000000000189c0e5 in impala::HdfsScanNode::AddMaterializedRowBatch (this=0x181d85000, row_batch=...) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/exec/hdfs-scan-node.cc:257
#5  0x00000000018c5d44 in impala::HdfsScanner::ProcessSplit (this=0x145709180) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/exec/hdfs-scanner.cc:126
#6  0x000000000189d833 in impala::HdfsScanNode::ProcessSplit (this=0x181d85000, filter_ctxs=..., scan_range=0xc898b180) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/exec/hdfs-scan-node.cc:528
#7  0x000000000189cc9a in impala::HdfsScanNode::ScannerThread (this=0x181d85000) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/exec/hdfs-scan-node.cc:418
#8  0x000000000189c407 in impala::HdfsScanNode::<lambda()>::operator()(void) const (__closure=0x7f4692026c28) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/exec/hdfs-scan-node.cc:355
#9  0x000000000189e161 in boost::detail::function::void_function_obj_invoker0<impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourceMgr::ResourcePool*)::<lambda()>, void>::invoke(boost::detail::function::function_buffer &) (function_obj_ptr=...) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153
#10 0x000000000152d542 in boost::function0<void>::operator() (this=0x7f4692026c20) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:767
#11 0x00000000017fa4eb in impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*) (name=..., category=..., functor=..., thread_started=0x7f469d255310) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/repos/Impala/be/src/util/thread.cc:329
#12 0x0000000001802e26 in boost::_bi::list4<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::Promise<long>*> >::operator()<void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*), boost::_bi::list0>(boost::_bi::type<void>, void (*&)(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*), boost::_bi::list0&, int) (this=0x1b303c9c0, f=@0x1b303c9b8: 0x17fa1cc <impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*)>, a=...) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:457
#13 0x0000000001802d69 in boost::_bi::bind_t<void, void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*), boost::_bi::list4<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::Promise<long>*> > >::operator()() (this=0x1b303c9b8) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20
#14 0x0000000001802d2c in boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*), boost::_bi::list4<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::Promise<long>*> > > >::run() (this=0x1b303c800) at /data/jenkins/workspace/impala-cdh5-trunk-exhaustive-rhel7/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116
#15 0x0000000001d8935a in thread_proxy ()
#16 0x00007f47592a5df3 in start_thread () from /lib64/libpthread.so.0
#17 0x00007f4758fd31ad in clone () from /lib64/libc.so.6
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)