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

DCHECK with MT_DOP=4 and query with nested types.

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: Impala 2.8.0
    • Fix Version/s: Impala 2.8.0
    • Component/s: Backend
    • Labels:

      Description

      Repro:

      set mt_dop=4;
      select *
      from tpch_nested_parquet.customer c, c.c_orders o
      where c_custkey < 10 and o_orderkey < 5
      

      Check hit:

      F1012 12:18:28.992121  9420 disk-io-mgr.cc:580] Check failed: reader != __null
      

      Stack:

      #0  0x00007f231fb61425 in raise () from /lib/x86_64-linux-gnu/libc.so.6
      #1  0x00007f231fb64b8b in abort () from /lib/x86_64-linux-gnu/libc.so.6
      #2  0x00000000027c4624 in google::DumpStackTraceAndExit() ()
      #3  0x00000000027bdabd in google::LogMessage::Fail() ()
      #4  0x00000000027c03e6 in google::LogMessage::SendToLog() ()
      #5  0x00000000027bd5dd in google::LogMessage::Flush() ()
      #6  0x00000000027c0e8e in google::LogMessageFatal::~LogMessageFatal() ()
      #7  0x000000000137a885 in impala::DiskIoMgr::GetNextRange (this=0x77ab780, reader=0x0, range=0x730d1b0)
          at /home/abehm/impala/be/src/runtime/disk-io-mgr.cc:580
      #8  0x0000000001674365 in impala::HdfsScanNodeMt::GetNext (this=0x730cd00, state=0x8afad00, row_batch=0x73786c0, eos=0x88a2e18)
          at /home/abehm/impala/be/src/exec/hdfs-scan-node-mt.cc:77
      #9  0x000000000176c396 in impala::SubplanNode::GetNext (this=0x88a2d00, state=0x8afad00, row_batch=0x737a400, eos=0x82954b1)
          at /home/abehm/impala/be/src/exec/subplan-node.cc:119
      #10 0x000000000198a2ec in impala::PlanFragmentExecutor::OpenInternal (this=0x8295388)
          at /home/abehm/impala/be/src/runtime/plan-fragment-executor.cc:309
      #11 0x0000000001989d9a in impala::PlanFragmentExecutor::Open (this=0x8295388)
          at /home/abehm/impala/be/src/runtime/plan-fragment-executor.cc:274
      #12 0x0000000001504dec in impala::FragmentMgr::FragmentExecState::Exec (this=0x8295000)
          at /home/abehm/impala/be/src/service/fragment-exec-state.cc:58
      #13 0x00000000014fc57d in impala::FragmentMgr::FragmentThread (this=0x9dbb200, fragment_instance_id=...)
          at /home/abehm/impala/be/src/service/fragment-mgr.cc:88
      #14 0x0000000001500330 in boost::_mfi::mf1<void, impala::FragmentMgr, impala::TUniqueId>::operator() (this=0x93b5a70, p=0x9dbb200, a1=...)
          at /home/abehm/impala/toolchain/boost-1.57.0/include/boost/bind/mem_fn_template.hpp:165
      #15 0x00000000015000ed in boost::_bi::list2<boost::_bi::value<impala::FragmentMgr*>, boost::_bi::value<impala::TUniqueId> >::operator()<boost::_mfi::mf1<void, impala::FragmentMgr, impala::TUniqueId>, boost::_bi::list0> (this=0x93b5a80, f=..., a=...)
          at /home/abehm/impala/toolchain/boost-1.57.0/include/boost/bind/bind.hpp:313
      #16 0x00000000014ffa17 in boost::_bi::bind_t<void, boost::_mfi::mf1<void, impala::FragmentMgr, impala::TUniqueId>, boost::_bi::list2<boost::_bi::value<impala::FragmentMgr*>, boost::_bi::value<impala::TUniqueId> > >::operator() (this=0x93b5a70)
          at /home/abehm/impala/toolchain/boost-1.57.0/include/boost/bind/bind_template.hpp:20
      ...
      

        Activity

        Hide
        alex.behm Alexander Behm added a comment -

        commit ff6b450ad380ce840e18875a89d9cf98058277a3
        Author: Alex Behm <alex.behm@cloudera.com>
        Date: Wed Oct 19 23:27:14 2016 -0700

        IMPALA-4285/IMPALA-4286: Fixes for Parquet scanner with MT_DOP > 0.

        IMPALA-4258: The problem was that there was a reference to
        HdfsScanner::batch_ hidden inside WriteEmptyTuples(). The batch_
        reference is NULL when the scanner is run with MT_DOP > 1.

        IMPALA-4286: When there are no scan ranges HdfsScanNodeBase::Open()
        exits early without initializing the reader context. This lead to
        a DCHECK in IoMgr::GetNextRange() called from HdfsScanNodeMt.
        The fix is to remove that unnecessary short-circuit Open().

        I combined these two bugfixes because the new basic test covers
        both cases.

        Testing: Added a new test_mt_dop.py test. A private code/hdfs
        run passed.

        Change-Id: I79c0f6fd2aeb4bc6fa5f87219a485194fef2db1b
        Reviewed-on: http://gerrit.cloudera.org:8080/4767
        Reviewed-by: Alex Behm <alex.behm@cloudera.com>
        Tested-by: Internal Jenkins

        Show
        alex.behm Alexander Behm added a comment - commit ff6b450ad380ce840e18875a89d9cf98058277a3 Author: Alex Behm <alex.behm@cloudera.com> Date: Wed Oct 19 23:27:14 2016 -0700 IMPALA-4285 / IMPALA-4286 : Fixes for Parquet scanner with MT_DOP > 0. IMPALA-4258 : The problem was that there was a reference to HdfsScanner::batch_ hidden inside WriteEmptyTuples(). The batch_ reference is NULL when the scanner is run with MT_DOP > 1. IMPALA-4286 : When there are no scan ranges HdfsScanNodeBase::Open() exits early without initializing the reader context. This lead to a DCHECK in IoMgr::GetNextRange() called from HdfsScanNodeMt. The fix is to remove that unnecessary short-circuit Open(). I combined these two bugfixes because the new basic test covers both cases. Testing: Added a new test_mt_dop.py test. A private code/hdfs run passed. Change-Id: I79c0f6fd2aeb4bc6fa5f87219a485194fef2db1b Reviewed-on: http://gerrit.cloudera.org:8080/4767 Reviewed-by: Alex Behm <alex.behm@cloudera.com> Tested-by: Internal Jenkins

          People

          • Assignee:
            alex.behm Alexander Behm
            Reporter:
            alex.behm Alexander Behm
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development