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

hdfs-orc-scanner should catch exceptions thrown from the ORC lib

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • Impala 3.1.0, Impala 3.2.0, Impala 4.0.0, Impala 3.3.0, Impala 3.4.0
    • Impala 4.1.0
    • Backend
    • None
    • ghx-label-3

    Description

      There are still some code paths where we don't catch the exceptions thrown from the ORC lib. E.g. when invoking orc::RowReader::createRowBatch, if there are not enough memory for this query, the exception will crash the process.

       0  libc-2.17.so + 0x36387
       1  libc-2.17.so + 0x37a78
       2  libc-2.17.so + 0x7aa05
       3  libc-2.17.so + 0x7aa05
       4  libc-2.17.so + 0x6f05b
       5  libstdc++.so.6!__cxa_get_globals_fast + 0x10
       7  libstdc++.so.6!__gnu_cxx::__verbose_terminate_handler() [vterminate.cc : 95 + 0x5]
       8  libstdc++.so.6!__cxxabiv1::__terminate(void (*)()) [eh_terminate.cc : 47 + 0x2]
       9  libstdc++.so.6!std::terminate() [eh_terminate.cc : 57 + 0xd]
      10  libstdc++.so.6!__cxxabiv1::__cxa_throw [eh_throw.cc : 93 + 0x5]
      11  impalad!impala::HdfsOrcScanner::OrcMemPool::malloc(unsigned long) [hdfs-orc-scanner.cc : 85 + 0x16]
      12  impalad!orc::DataBuffer<long>::reserve(unsigned long) + 0xe8
      13  impalad!orc::DataBuffer<long>::resize(unsigned long) + 0x11
      14  impalad!orc::StringVectorBatch::StringVectorBatch(unsigned long, orc::MemoryPool&) + 0x48
      15  impalad!orc::EncodedStringVectorBatch::EncodedStringVectorBatch(unsigned long, orc::MemoryPool&) + 0x12
      16  impalad!orc::TypeImpl::createRowBatch(unsigned long, orc::MemoryPool&, bool) const + 0x4f0
      17  impalad!orc::TypeImpl::createRowBatch(unsigned long, orc::MemoryPool&, bool) const + 0x451
      18  impalad!orc::RowReaderImpl::createRowBatch(unsigned long) const + 0x4c
      19  impalad!impala::HdfsOrcScanner::AssembleRows(impala::RowBatch*) [hdfs-orc-scanner.cc : 657 + 0xe]
      20  impalad!impala::HdfsOrcScanner::GetNextInternal(impala::RowBatch*) [hdfs-orc-scanner.cc : 562 + 0x12]
      21  impalad!impala::HdfsOrcScanner::ProcessSplit() [hdfs-orc-scanner.cc : 470 + 0x10]
      22  impalad!impala::HdfsScanNode::ProcessSplit(std::vector<impala::FilterContext, std::allocator<impala::FilterContext> > const&, impala::MemPool*, impala::io::ScanRange*, long*) [hdfs-scan-node.cc : 500 + 0x10]
      23  impalad!impala::HdfsScanNode::ScannerThread(bool, long) [hdfs-scan-node.cc : 418 + 0x18]
      24  impalad!impala::Thread::SuperviseThread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*) [function_template.hpp : 770 + 0x7]
      25  impalad!boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::ThreadDebugInfo*>, boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > >::run() [bind.hpp : 531 + 0xc]
      26  impalad!thread_proxy + 0x72
      27  libpthread-2.17.so + 0x7ea5
      28  libc-2.17.so + 0xfe9fd
      

      Attachments

        Issue Links

          Activity

            People

              stigahuang Quanlong Huang
              stigahuang Quanlong Huang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: