Tim Armstrong created IMPALA-5855:
-------------------------------------

             Summary: Preaggregation crashes - unable to initialise hash table
                 Key: IMPALA-5855
                 URL: https://issues.apache.org/jira/browse/IMPALA-5855
             Project: IMPALA
          Issue Type: Bug
          Components: Backend
    Affects Versions: Impala 2.10.0
            Reporter: Tim Armstrong
            Assignee: Tim Armstrong
            Priority: Blocker


The preaggregation can crash if it can't get enough memory for its initial hash 
tables. The bug is that the Suballocator must be able to allocate at least one 
buffer of the default size to allocate any memory, but the calculation in the 
planner only reserves 512kb of memory.

{code}
F0828 15:54:41.898521 56405 partitioned-aggregation-node.cc:1128] Check failed: 
!is_streaming_preagg_ Preagg reserves enough memory for hash tables

#0  0x0000003299a32625 in raise () from /lib64/libc.so.6
No symbol table info available.
#1  0x0000003299a33e05 in abort () from /lib64/libc.so.6
No symbol table info available.
#2  0x0000000002e7fc04 in google::DumpStackTraceAndExit() ()
        incs = {1, 4, 13, 40, 121, 364, 1093, 3280, 9841, 29524, 88573, 265720, 
797161, 2391484}
#3  0x0000000002e7667d in google::LogMessage::Fail() ()
        incs = {1, 4, 13, 40, 121, 364, 1093, 3280, 9841, 29524, 88573, 265720, 
797161, 2391484}
#4  0x0000000002e77f22 in google::LogMessage::SendToLog() ()
        incs = {1, 4, 13, 40, 121, 364, 1093, 3280, 9841, 29524, 88573, 265720, 
797161, 2391484}
#5  0x0000000002e76057 in google::LogMessage::Flush() ()
        incs = {1, 4, 13, 40, 121, 364, 1093, 3280, 9841, 29524, 88573, 265720, 
797161, 2391484}
#6  0x0000000002e7961e in google::LogMessageFatal::~LogMessageFatal() ()
        incs = {1, 4, 13, 40, 121, 364, 1093, 3280, 9841, 29524, 88573, 265720, 
797161, 2391484}
#7  0x0000000001bef4a8 in 
impala::PartitionedAggregationNode::CreateHashPartitions (this=0x7f5b7b97e000, 
level=0, single_partition_idx=-1) at 
/data/jenkins/workspace/impala-private-build-binaries/repos/Impala/be/src/exec/partitioned-aggregation-node.cc:1128
        got_memory = false
        partition = 0x7f602ce48850
        i = 0
        num_partitions_created = 16
#8  0x0000000001be6a9e in impala::PartitionedAggregationNode::Open 
(this=0x7f5b7b97e000, state=0x7f4a3adf5c00) at 
/data/jenkins/workspace/impala-private-build-binaries/repos/Impala/be/src/exec/partitioned-aggregation-node.cc:290
        __status__ = {static CANCELLED = {static CANCELLED = <same as static 
member of an already seen type>, static DEPRECATED_RPC = {static CANCELLED = 
<same as static member of an already seen type>, static DEPRECATED_RPC = <same 
as static member of an already seen type>, msg_ = 0x68eafc0}, msg_ = 
0x68ea390}, 
          static DEPRECATED_RPC = <same as static member of an already seen 
type>, msg_ = 0x7f5a1d9c02f0}
        SCOPED_TIMER1 = {sw_ = {start_ = 2679682494289161, total_time_ = 0, 
time_ceiling_ = 0, running_ = true}, counter_ = 0x7f5a8d3ecc88, is_cancelled_ = 
0x0}
        batch = {static AT_CAPACITY_MEM_USAGE = 8388608, static 
FIXED_LEN_BUFFER_LIMIT = 4194304, num_rows_ = 228113440, capacity_ = 32605, 
flush_ = 496763888, needs_deep_copy_ = 90, num_tuples_per_row_ = -840859936, 
tuple_ptrs_size_ = 32607, tuple_ptrs_ = 0x7f5d2fd96cd8, auxiliary_mem_usage_ = 
140025020547552, tuple_data_pool_ = {
            static LLVM_CLASS_NAME = 0x2fe5b94 "class.impala::MemPool", static 
DEFAULT_ALIGNMENT = 8, static INITIAL_CHUNK_SIZE = 4096, static MAX_CHUNK_SIZE 
= 1048576, static zero_length_region_ = 1722447803, current_chunk_idx_ = 
-840859936, next_chunk_size_ = 32607, total_allocated_bytes_ = 140025020547568, 
            peak_allocated_bytes_ = 27193507, total_reserved_bytes_ = 1, 
chunks_ = {<std::_Vector_base<impala::MemPool::ChunkInfo, 
std::allocator<impala::MemPool::ChunkInfo> >> = {_M_impl = 
{<std::allocator<impala::MemPool::ChunkInfo>> = 
{<__gnu_cxx::new_allocator<impala::MemPool::ChunkInfo>> = {<No data fields>}, 
<No data fields>}, 
                  _M_start = 0x7f5a1d9c03f0, _M_finish = 0x7f5fcde17ee0, 
_M_end_of_storage = 0x7f5d2fd96cd8}}, <No data fields>}, mem_tracker_ = 
0x7f5cd932ecb0}, row_desc_ = 0x8, mem_tracker_ = 0x7f5cd932ecb0, 
          io_buffers_ = 
{<std::_Vector_base<std::unique_ptr<impala::DiskIoMgr::BufferDescriptor, 
std::default_delete<impala::DiskIoMgr::BufferDescriptor> >, 
std::allocator<std::unique_ptr<impala::DiskIoMgr::BufferDescriptor, 
std::default_delete<impala::DiskIoMgr::BufferDescriptor> > > >> = {
              _M_impl = 
{<std::allocator<std::unique_ptr<impala::DiskIoMgr::BufferDescriptor, 
std::default_delete<impala::DiskIoMgr::BufferDescriptor> > >> = 
{<__gnu_cxx::new_allocator<std::unique_ptr<impala::DiskIoMgr::BufferDescriptor, 
std::default_delete<impala::DiskIoMgr::BufferDescriptor> > >> = {<No data 
fields>}, <No data fields>}, _M_start = 0x15c86d0, _M_finish = 0x7f5fcde17ee0, 
_M_end_of_storage = 0x7f5a1d9c0780}}, <No data fields>}, buffers_ = 
{<std::_Vector_base<impala::RowBatch::BufferInfo, 
std::allocator<impala::RowBatch::BufferInfo> >> = {
              _M_impl = {<std::allocator<impala::RowBatch::BufferInfo>> = 
{<__gnu_cxx::new_allocator<impala::RowBatch::BufferInfo>> = {<No data fields>}, 
<No data fields>}, _M_start = 0x7f5cd932ecb0, _M_finish = 0x7f5fcde17ee8, 
_M_end_of_storage = 0x0}}, <No data fields>}, compression_scratch_ = {static 
npos = 18446744073709551615, 
            _M_dataplus = {<std::allocator<char>> = 
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p 
= 0x7f5cd932ecb0 "\330\376A\323Z\177"}}}
        eos = false
#9  0x00000000017f16a3 in impala::FragmentInstanceState::Open 
(this=0x7f57f3f5af80) at 
/data/jenkins/workspace/impala-private-build-binaries/repos/Impala/be/src/runtime/fragment-instance-state.cc:256
        __status__ = {static CANCELLED = {static CANCELLED = <same as static 
member of an already seen type>, static DEPRECATED_RPC = {static CANCELLED = 
<same as static member of an already seen type>, static DEPRECATED_RPC = <same 
as static member of an already seen type>, msg_ = 0x68eafc0}, msg_ = 
0x68ea390}, 
          static DEPRECATED_RPC = <same as static member of an already seen 
type>, msg_ = 0x3008ab5}
        SCOPED_TIMER9 = {sw_ = {start_ = 2679682494285694, total_time_ = 0, 
time_ceiling_ = 0, running_ = true}, counter_ = 0x7f5f0222fa80, is_cancelled_ = 
0x0}
        SCOPED_TIMER6 = {sw_ = {start_ = 2679678789834010, total_time_ = 0, 
time_ceiling_ = 0, running_ = true}, counter_ = 0x7f4a3adf5f18, is_cancelled_ = 
0x0}
        SCOPED_TIMER7 = {sw_ = {start_ = 2679678789843186, total_time_ = 0, 
time_ceiling_ = 0, running_ = true}, counter_ = 0x7f55634f4900, is_cancelled_ = 
0x0}
        SCOPED_THREAD_COUNTER_MEASUREMENT8 = {stop_ = false, usage_base_ = 
{ru_utime = {tv_sec = 0, tv_usec = 102984}, ru_stime = {tv_sec = 0, tv_usec = 
18997}, ru_maxrss = 171863496, ru_ixrss = 0, ru_idrss = 0, ru_isrss = 0, 
ru_minflt = 407, ru_majflt = 0, ru_nswap = 0, ru_inblock = 0, ru_oublock = 24, 
ru_msgsnd = 0, ru_msgrcv = 0, 
            ru_nsignals = 0, ru_nvcsw = 159, ru_nivcsw = 145}, sw_ = {start_ = 
2679678789843580, total_time_ = 0, time_ceiling_ = 0, running_ = true}, 
counters_ = 0x7f59c3505200}
#10 0x00000000017ef1cf in impala::FragmentInstanceState::Exec 
(this=0x7f57f3f5af80) at 
/data/jenkins/workspace/impala-private-build-binaries/repos/Impala/be/src/runtime/fragment-instance-state.cc:80
        status = {static CANCELLED = {static CANCELLED = <same as static member 
of an already seen type>, static DEPRECATED_RPC = {static CANCELLED = <same as 
static member of an already seen type>, static DEPRECATED_RPC = <same as static 
member of an already seen type>, msg_ = 0x68eafc0}, msg_ = 0x68ea390}, 
          static DEPRECATED_RPC = <same as static member of an already seen 
type>, msg_ = 0x0}
#11 0x00000000017d9bda in impala::QueryState::ExecFInstance 
(this=0x7f57d1299600, fis=0x7f57f3f5af80) at 
/data/jenkins/workspace/impala-private-build-binaries/repos/Impala/be/src/runtime/query-state.cc:351
        status = {static CANCELLED = {static CANCELLED = <same as static member 
of an already seen type>, static DEPRECATED_RPC = {static CANCELLED = <same as 
static member of an already seen type>, static DEPRECATED_RPC = <same as static 
member of an already seen type>, msg_ = 0x68eafc0}, msg_ = 0x68ea390}, 
          static DEPRECATED_RPC = <same as static member of an already seen 
type>, msg_ = 0x0}
#12 0x00000000017d870a in impala::QueryState::<lambda()>::operator()(void) 
const (__closure=0x7f5a1d9c0bc8) at 
/data/jenkins/workspace/impala-private-build-binaries/repos/Impala/be/src/runtime/query-state.cc:319
        fis = 0x7f57f3f5af80
        this = 0x7f57d1299600
#13 0x00000000017da88b 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-private-build-binaries/repos/Impala/toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153
        f = 0x7f5a1d9c0bc8
#14 0x000000000170b722 in boost::function0<void>::operator() 
(this=0x7f5a1d9c0bc0) at 
/data/jenkins/workspace/impala-private-build-binaries/repos/Impala/toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:767
No locals.
#15 0x00000000019fc6cd in impala::Thread::SuperviseThread (name=..., 
category=..., functor=..., thread_started=0x7f61361b8be0) at 
/data/jenkins/workspace/impala-private-build-binaries/repos/Impala/be/src/util/thread.cc:329
        system_tid = 56730
        category_copy = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x6910678 "fragment-execution"}}
        thread_mgr_ref = {<std::__shared_ptr<impala::ThreadMgr, 
(__gnu_cxx::_Lock_policy)2>> = {_M_ptr = 0x695e680, _M_refcount = {_M_pi = 
0x696c1a0}}, <No data fields>}
        name_copy = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x7f568a417038 "exec-finstance 
(finst:5a42932fcf62becc:f7747b5800000038)"}}
#16 0x0000000001a05008 in 
boost::_bi::list4<boost::_bi::value<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
boost::_bi::value<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, boost::_bi::value<boost::function<void()> >, 
boost::_bi::value<impala::Promise<long int>*> >::operator()<void (*)(const 
std::basic_string<char>&, const std::basic_string<char>&, 
boost::function<void()>, impala::Promise<long int>*), 
boost::_bi::list0>(boost::_bi::type<void>, void (*&)(const 
std::basic_string<char, std::char_traits<char>, std::allocator<char> > &, const 
std::basic_string<char, std::char_traits<char>, std::allocator<char> > &, 
boost::function<void()>, impala::Promise<long> *), boost::_bi::list0 &, int) 
(this=0x7f5f67979dc0, f=@0x7f5f67979db8, a=...) at 
/data/jenkins/workspace/impala-private-build-binaries/repos/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:457
No locals.
#17 0x0000000001a04f4b in boost::_bi::bind_t<void, void (*)(const 
std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const 
std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, 
boost::function<void()>, impala::Promise<long int>*), 
boost::_bi::list4<boost::_bi::value<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
boost::_bi::value<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, boost::_bi::value<boost::function<void()> >, 
boost::_bi::value<impala::Promise<long int>*> > >::operator()(void) 
(this=0x7f5f67979db8)
    at 
/data/jenkins/workspace/impala-private-build-binaries/repos/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20
        a = {<No data fields>}
#18 0x0000000001a04f0e in boost::detail::thread_data<boost::_bi::bind_t<void, 
void (*)(const std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >&, const std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >&, boost::function<void()>, impala::Promise<long int>*), 
boost::_bi::list4<boost::_bi::value<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
boost::_bi::value<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, boost::_bi::value<boost::function<void()> >, 
boost::_bi::value<impala::Promise<long int>*> > > >::run(void) 
(this=0x7f5f67979c00)
    at 
/data/jenkins/workspace/impala-private-build-binaries/repos/Impala/toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116
No locals.
#19 0x00000000020889aa in thread_proxy ()
        DEBUG_MODE = true
        kint32min = -2147483648
        kint16min = -32768
        kint8max = 127 '\177'
        kMaxFprint = 18446744073709551615
        PATH_SEPARATOR = 47 '/'
        kuint32max = 4294967295
        kuint8max = 255 '\377'
        kint32max = 2147483647
        kint64min = -9223372036854775808
        kIllegalFprint = 0
        kuint16max = 65535
        kint16max = 32767
        kuint64max = 18446744073709551615
        kint64max = 9223372036854775807
        kint8min = -128 '\200'
        Bits::num_bits = 0x3fbb740 ""
#20 0x0000003299e07aa1 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#21 0x0000003299ae893d in clone () from /lib64/libc.so.6
No symbol table info available.
{code}



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

Reply via email to