[ 
https://issues.apache.org/jira/browse/IMPALA-11182?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Quanlong Huang resolved IMPALA-11182.
-------------------------------------
    Fix Version/s: Impala 4.1.0
       Resolution: Fixed

> hdfs-orc-scanner should catch exceptions thrown from the ORC lib
> ----------------------------------------------------------------
>
>                 Key: IMPALA-11182
>                 URL: https://issues.apache.org/jira/browse/IMPALA-11182
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>    Affects Versions: Impala 3.1.0, Impala 3.2.0, Impala 4.0.0, Impala 3.3.0, 
> Impala 3.4.0
>            Reporter: Quanlong Huang
>            Assignee: Quanlong Huang
>            Priority: Critical
>             Fix For: Impala 4.1.0
>
>
> 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.
> {code:java}
>  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
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to