Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
Impala 2.5.0
Description
The query below runs fine using the default query options but with the options below it hits a dcheck.
SET MEM_LIMIT=4G; SET BATCH_SIZE=45635733; SET DISABLE_CODEGEN=1; SET DISABLE_OUTERMOST_TOPN=1; SET DISABLE_ROW_RUNTIME_FILTERING=0; SET DISABLE_STREAMING_PREAGGREGATIONS=1; SET DISABLE_UNSAFE_SPILLS=0; SET EXEC_SINGLE_NODE_ROWS_THRESHOLD=57408891; SET MAX_BLOCK_MGR_MEMORY=47466786; SET MAX_IO_BUFFERS=41253058; SET MAX_SCAN_RANGE_LENGTH=47655005; SET NUM_NODES=3; SET NUM_SCANNER_THREADS=62; SET OPTIMIZE_PARTITION_KEY_SCANS=0; SET RANDOM_REPLICA=0; SET REPLICA_PREFERENCE=REMOTE; SET RUNTIME_BLOOM_FILTER_SIZE=4803558; SET RUNTIME_FILTER_MODE=OFF; SET RUNTIME_FILTER_WAIT_TIME_MS=72004473; SET SCAN_NODE_CODEGEN_THRESHOLD=13784906; Query: select a1.timestamp_col + INTERVAL a1.year MONTH AS timestamp_col, GREATEST(COALESCE(MAX(a1.day), 614), COALESCE(a1.smallint_col, -180)) AS int_col, COALESCE(a1.bigint_col, a1.smallint_col, a1.bigint_col) AS int_col_1, CAST(a1.month AS STRING) AS char_col, a1.smallint_col FROM alltypesagg a1 WHERE (a1.smallint_col) != (a1.id) GROUP BY a1.timestamp_col + INTERVAL a1.year MONTH, COALESCE(a1.bigint_col, a1.smallint_col, a1.bigint_col), CAST(a1.month AS STRING), a1.smallint_col Socket error 104: Connection reset by peer
Stack:
(gdb) bt #0 0x00007f7b1c8885f7 in raise () from /lib64/libc.so.6 #1 0x00007f7b1c889ce8 in abort () from /lib64/libc.so.6 #2 0x00007f7b1f200199 in google::DumpStackTraceAndExit() () from /home/dev/Impala/be/build/debug/gutil/libgutil.so #3 0x00007f7b1f1f924d in google::LogMessage::Fail() () from /home/dev/Impala/be/build/debug/gutil/libgutil.so #4 0x00007f7b1f1fbb76 in google::LogMessage::SendToLog() () from /home/dev/Impala/be/build/debug/gutil/libgutil.so #5 0x00007f7b1f1f8d6d in google::LogMessage::Flush() () from /home/dev/Impala/be/build/debug/gutil/libgutil.so #6 0x00007f7b1f1fc61e in google::LogMessageFatal::~LogMessageFatal() () from /home/dev/Impala/be/build/debug/gutil/libgutil.so #7 0x00007f7b2148bb8d in impala::MemPool::CheckIntegrity (this=0xfadb8e8, current_chunk_empty=false) at /home/dev/Impala/be/src/runtime/mem-pool.cc:254 #8 0x00007f7b2148cfce in impala::MemPool::AcquireData (this=0xfadb8e8, src=0x105aadc0, keep_current=false) at /home/dev/Impala/be/src/runtime/mem-pool.cc:215 #9 0x00007f7b23167989 in impala::HdfsScanner::AttachPool (this=0xc4a5a00, pool=0x105aadc0, commit_batch=false) at /home/dev/Impala/be/src/exec/hdfs-scanner.h:287 #10 0x00007f7b2327841a in impala::HdfsTextScanner::Close (this=0xc4a5a00) at /home/dev/Impala/be/src/exec/hdfs-text-scanner.cc:196 #11 0x00007f7b23210d6a in impala::HdfsScanNode::ProcessSplit (this=0xe2b9000, filter_ctxs=..., scan_range=0xd87be40) at /home/dev/Impala/be/src/exec/hdfs-scan-node.cc:1181 #12 0x00007f7b2320f72c in impala::HdfsScanNode::ScannerThread (this=0xe2b9000) at /home/dev/Impala/be/src/exec/hdfs-scan-node.cc:1043 #13 0x00007f7b23232d79 in boost::_mfi::mf0<void, impala::HdfsScanNode>::operator() (this=0x7f7a837dfd00, p=0xe2b9000) at /opt/Impala-Toolchain/boost-1.57.0/include/boost/bind/mem_fn_template.hpp:49 #14 0x00007f7b23232ce0 in boost::_bi::list1<boost::_bi::value<impala::HdfsScanNode*> >::operator()<boost::_mfi::mf0<void, impala::HdfsScanNode>, boost::_bi::list0> (this=0x7f7a837dfd10, f=..., a=...) at /opt/Impala-Toolchain/boost-1.57.0/include/boost/bind/bind.hpp:253 #15 0x00007f7b23232c8a in boost::_bi::bind_t<void, boost::_mfi::mf0<void, impala::HdfsScanNode>, boost::_bi::list1<boost::_bi::value<impala::HdfsScanNode*> > >::operator() (this=0x7f7a837dfd00) at /opt/Impala-Toolchain/boost-1.57.0/include/boost/bind/bind_template.hpp:20 #16 0x00007f7b23232a6d in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, impala::HdfsScanNode>, boost::_bi::list1<boost::_bi::value<impala::HdfsScanNode*> > >, void>::invoke (function_obj_ptr=...) at /opt/Impala-Toolchain/boost-1.57.0/include/boost/function/function_template.hpp:153 #17 0x00000000006d3e88 in boost::function0<void>::operator() (this=0x7f7a837dfcf8) at /opt/Impala-Toolchain/boost-1.57.0/include/boost/function/function_template.hpp:766 #18 0x00007f7b1fb15f11 in impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*) (name=..., category=..., functor=..., thread_started=0x7f7a827dc238) at /home/dev/Impala/be/src/util/thread.cc:316 #19 0x00007f7b1fb1da36 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=0xc4a5fc0, f=@0xc4a5fb8: 0x7f7b1fb15b10 <impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*)>, a=...) at /opt/Impala-Toolchain/boost-1.57.0/include/boost/bind/bind.hpp:457 (gdb) f 7 #7 0x00007f7b2148bb8d in impala::MemPool::CheckIntegrity (this=0xfadb8e8, current_chunk_empty=false) at /home/dev/Impala/be/src/runtime/mem-pool.cc:254 254 DCHECK_GT(chunks_[i].allocated_bytes, 0); (gdb) l 249 DCHECK_LT(current_chunk_idx_, static_cast<int>(chunks_.size())); 250 int64_t total_allocated = 0; 251 for (int i = 0; i < chunks_.size(); ++i) { 252 DCHECK_GT(chunks_[i].size, 0); 253 if (i < current_chunk_idx_) { 254 DCHECK_GT(chunks_[i].allocated_bytes, 0); 255 } else if (i == current_chunk_idx_) { 256 if (current_chunk_empty) { 257 DCHECK_EQ(chunks_[i].allocated_bytes, 0); 258 } else {
Version:
☁ Impala git log -1 commit a2a78d4a69c9ab241fc54d2c86275c2c9651dafc
I'll try to figureout which query options are related to the problem.
Attachments
Issue Links
- is related to
-
IMPALA-3105 RowBatch::MaxTupleBufferSize() calculation incorrect, may lead to memory corruption
- Resolved
- relates to
-
IMPALA-1619 Support single allocations larger 1GB
- Resolved