Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-3069

mem-pool.cc:254] Check failed: chunks_[i].allocated_bytes > 0 (-2104452104 vs. 0)

    XMLWordPrintableJSON

Details

    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

          Activity

            People

              kwho Michael Ho
              caseyc casey
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: