kaka11chen opened a new pull request, #22193:
URL: https://github.com/apache/doris/pull/22193

   
   ## Proposed changes
   ### Issue
   orc reader crashed when hdfs reading error.
   
   ```
   0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, 
siginfo_t*, void*) at 
/home/zcp/repo_center/zcp_repo/be/src/common/signal_handler.h:413
   1# 0x00007F6F8B3C00C0 in /lib/x86_64-linux-gnu/libc.so.6
   2# raise in /lib/x86_64-linux-gnu/libc.so.6
   3# abort in /lib/x86_64-linux-gnu/libc.so.6
   4# _gnu_cxx::_verbose_terminate_handler() [clone .cold] at 
../../../../libstdc+-v3/libsupc+/vterminate.cc:75
   5# _cxxabiv1::_terminate(void ()) at 
../../../../libstdc+-v3/libsupc+/eh_terminate.cc:48
   6# 0x0000555CBC4718C1 in /mnt/hdd01/STRESS_ENV/be/lib/doris_be
   7# 0x0000555CBC471A14 in /mnt/hdd01/STRESS_ENV/be/lib/doris_be
   8# doris::vectorized::ORCFileInputStream::read(void*, unsigned long, 
unsigned long) at 
/home/zcp/repo_center/zcp_repo/be/src/vec/exec/format/orc/vorc_reader.cpp:121
   9# orc::SeekableFileInputStream::Next(void const*, int) in 
/mnt/hdd01/STRESS_ENV/be/lib/doris_be
   10# orc::DecompressionStream::readHeader() in 
/mnt/hdd01/STRESS_ENV/be/lib/doris_be
   11# orc::DecompressionStream::Next(void const*, int) in 
/mnt/hdd01/STRESS_ENV/be/lib/doris_be
   12# void orc::RleDecoderV2::next<long>(long*, unsigned long, char const*) in 
/mnt/hdd01/STRESS_ENV/be/lib/doris_be
   13# orc::StringDictionaryColumnReader::loadDictionary() in 
/mnt/hdd01/STRESS_ENV/be/lib/doris_be
   14# orc::StructColumnReader::loadStringDicts(std::unordered_map<unsigned 
long, std::_cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, std::hash<unsigned long>, std::equal_to<unsigned long>, 
std::allocator<std::pair<unsigned long const, std::cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > > > > const&, 
std::unordered_map<std::cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, orc::StringDictionary*, 
std::hash<std::cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, std::equal_to<std::cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::allocator<std::pair<std::_cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, orc::StringDictionary*> > 
>, orc::StringDictFilter const) in /mnt/hdd01/STRESS_ENV/be/lib/doris_be
   15# orc::RowReaderImpl::startNextStripe(orc::ReadPhase const&) in 
/mnt/hdd01/STRESS_ENV/be/lib/doris_be
   16# orc::RowReaderImpl::nextBatch(orc::ColumnVectorBatch&, void*) in 
/mnt/hdd01/STRESS_ENV/be/lib/doris_be
   17# doris::vectorized::OrcReader::get_next_block(doris::vectorized::Block*, 
unsigned long*, bool*) at 
/home/zcp/repo_center/zcp_repo/be/src/vec/exec/format/orc/vorc_reader.cpp:1420
   18# doris::vectorized::VFileScanner::_get_block_impl(doris::RuntimeState*, 
doris::vectorized::Block*, bool*) at 
/home/zcp/repo_center/zcp_repo/be/src/vec/exec/scan/vfile_scanner.cpp:250
   19# doris::vectorized::VScanner::get_block(doris::RuntimeState*, 
doris::vectorized::Block*, bool*) in /mnt/hdd01/STRESS_ENV/be/lib/doris_be
   20# 
doris::vectorized::ScannerScheduler::_scanner_scan(doris::vectorized::ScannerScheduler*,
 doris::vectorized::ScannerContext*, 
std::shared_ptr<doris::vectorized::VScanner>) at 
/home/zcp/repo_center/zcp_repo/be/src/vec/exec/scan/scanner_scheduler.cpp:335
   21# std::_Function_handler<void (), 
doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()()
 const::
   ```
   
   ### Resolution
   Fix orc reader crashed when hdfs reading error by catching exception.
   
   ## Further comments
   
   If this is a relatively large or complex change, kick off the discussion at 
[d...@doris.apache.org](mailto:d...@doris.apache.org) by explaining why you 
chose the solution you did and what alternatives you considered, etc...
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to