Doris 4.0.2 普通视图查询,导致BE报错挂掉

Viewed 34
  1. 如果原表定义:
    update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间"

    创建视图 select * from 原表;

    查询视图一旦包含排序,不管以什么字段排序,只要查询结果包含update_time 字段,则报错:
    W20260111 14:38:17.596822 1910302 status.h:439] meet error status: [INTERNAL_ERROR]invalid nonexistent column without default value. column_uid=-1, column_name=update_time, column_type=29 0# doris::segment_v2::Segment::new_default_iterator(doris::TabletColumn const&, std::unique_ptr<doris::segment_v2::ColumnIterator, std::default_delete >) at /home/zcp/repo_center/doris_release/doris/be/src/olap/rowset/segment_v2/segment.cpp:720 1# doris::segment_v2::Segment::new_column_iterator(doris::TabletColumn const&, std::unique_ptr<doris::segment_v2::ColumnIterator, std::default_delete >, doris::StorageReadOptions const*, std::unordered_map<int, std::unique_ptr<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::shared_ptr, std::hash<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator> const, std::shared_ptr > > >, std::default_delete<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::shared_ptr, std::hash<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator >const, std::shared_ptr > > > > >, std::hash, std::equal_to, std::allocator<std::pair<int const, std::unique_ptr<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::shared_ptr, std::hash<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator > const, std::shared_ptr > > >, std::default_delete<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::shared_ptr, std::hash<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator > const, std::shared_ptr > > > > > > > > const*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:525 2# doris::segment_v2::Segment::seek_and_read_by_rowid(doris::TabletSchema const&, doris::SlotDescriptor*, unsigned int, doris::COW::mutable_ptr&, doris::StorageReadOptions&, std::unique_ptr<doris::segment_v2::ColumnIterator, std::default_delete >&) at /home/zcp/repo_center/doris_release/doris/be/src/olap/rowset/segment_v2/segment.cpp:0 3# doris::RowIdStorageReader::read_doris_format_row(std::shared_ptr const&, std::shared_ptr const&, std::vector<unsigned int, std::allocator > const&, std::vector<doris::SlotDescriptor, std::allocator >&, doris::TabletSchema const&, doris::RowStoreReadStruct&, doris::OlapReaderStatistics&, long*, long*, long*, long*, std::unordered_map<doris::SegKey, doris::SegItem, doris::HashOfSegKey, std::equal_to, std::allocator<std::pair<doris::SegKey const, doris::SegItem> > >&, std::unordered_map<doris::IteratorKey, doris::IteratorItem, doris::HashOfIteratorKey, std::equal_to, std::allocator<std::pair<doris::IteratorKey const, doris::IteratorItem> > >&, doris::vectorized::Block&) at /home/zcp/repo_center/doris_release/doris/be/src/exec/rowid_fetcher.cpp:1129 4# doris::RowIdStorageReader::read_batch_doris_format_row(doris::PRequestBlockDesc const&, std::shared_ptr, std::vector<doris::SlotDescriptor, std::allocator >&, doris::TUniqueId const&, doris::vectorized::Block&, doris::OlapReaderStatistics&, long*, long*, long*, long*) at /home/zcp/repo_center/doris_release/doris/be/src/exec/rowid_fetcher.cpp:694 5# doris::RowIdStorageReader::read_by_rowids(doris::PMultiGetRequestV2 const&, doris::PMultiGetResponseV2*) at /home/zcp/repo_center/doris_release/doris/be/src/exec/rowid_fetcher.cpp:586 6# std::_Function_handler<bool (), doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0>::_M_invoke(std::_Any_data const&) at /home/zcp/repo_center/doris_release/doris/be/src/service/internal_service.cpp:2136 7# doris::vectorized::TaskExecutorSimplifiedScanScheduler::submit_scan_task(doris::vectorized::SimplifiedScanTask, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)::{lambda()#2}::operator()() const at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/scanner_scheduler.h:339 8# doris::vectorized::ScannerSplitRunner::process_for(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:408 9# doris::vectorized::PrioritizedSplitRunner::process() at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/executor/time_sharing/prioritized_split_runner.cpp:104 10# doris::vectorized::TimeSharingTaskExecutor::_dispatch_thread() at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/executor/time_sharing/time_sharing_task_executor.cpp:572 11# doris::Thread::supervise_thread(void*) at /usr/local/ldb-toolchain-v0.26/bin/../usr/include/pthread.h:562 12# ? 13# ? W20260111 14:38:18.824432 1910553 fragment_mgr.cpp:917] Query 3d490e1466bd499b-94a6a6e0c66bb78f does not exists, failed to cancel it W20260111 14:38:21.568413 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc899 W20260111 14:38:21.568454 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc89c W20260111 14:38:21.568502 1910243 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc899 W20260111 14:38:21.568516 1910245 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.568496 1910555 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc885 W20260111 14:38:21.568524 1910243 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc89c W20260111 14:38:21.568583 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc899 W20260111 14:38:21.568567 1910555 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc886 W20260111 14:38:21.568604 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc89c W20260111 14:38:21.568614 1910244 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc899 W20260111 14:38:21.568679 1910245 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.568688 1910244 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc89c W20260111 14:38:21.568688 1910555 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc88b W20260111 14:38:21.568710 1910244 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.568719 1910555 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc88c W20260111 14:38:21.568742 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc899 W20260111 14:38:21.568773 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc89c W20260111 14:38:21.568747 1910555 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc893 W20260111 14:38:21.568797 1910555 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc894 W20260111 14:38:21.568809 1910244 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc88b W20260111 14:38:21.568823 1910244 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc88c W20260111 14:38:21.568584 1910243 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.568825 1910555 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc899 W20260111 14:38:21.568787 1910245 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.568872 1910555 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc89c W20260111 14:38:21.568840 1910244 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.568912 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc893 W20260111 14:38:21.568943 1910246 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc899 W20260111 14:38:21.568948 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc894 W20260111 14:38:21.568967 1910246 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc89c W20260111 14:38:21.568984 1910245 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.568926 1910243 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc893 W20260111 14:38:21.569051 1910243 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc894 W20260111 14:38:21.569003 1910246 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.569077 1910243 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.569096 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc893 W20260111 14:38:21.569120 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc894 W20260111 14:38:21.569132 1910245 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.569147 1910246 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc885 W20260111 14:38:21.569155 1910243 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc88b W20260111 14:38:21.569161 1910246 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc886 W20260111 14:38:21.569172 1910243 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc88c W20260111 14:38:21.569180 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc893 W20260111 14:38:21.569187 1910243 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.569195 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc894 W20260111 14:38:21.569209 1910245 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.569273 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc88b W20260111 14:38:21.569281 1910244 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc885 W20260111 14:38:21.569303 1910244 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc886 W20260111 14:38:21.569329 1910244 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.569386 1909994 fragment_mgr.cpp:566] report error status: PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception to coordinator: TNetworkAddress(hostname=10.10.8.23, port=9020), query id: df25afd78e5f4081-a82bda4e3d3dc882 W20260111 14:38:21.569389 1909993 fragment_mgr.cpp:566] report error status: PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception to coordinator: TNetworkAddress(hostname=10.10.8.23, port=9020), query id: df25afd78e5f4081-a82bda4e3d3dc882 W20260111 14:38:21.569180 1910246 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.569284 1910245 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc88c W20260111 14:38:21.569530 1910243 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc885 W20260111 14:38:21.569543 1910245 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.569552 1910243 pipeline_fragment_context.cpp:218] PipelineFragmentContext cancel instance: df25afd78e5f4081-a82bda4e3d3dc886 W20260111 14:38:21.569567 1910243 task_scheduler.cpp:84] Pipeline task failed. query_id: df25afd78e5f4081-a82bda4e3d3dc882 reason: [INTERNAL_ERROR]PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception W20260111 14:38:21.569891 1909996 fragment_mgr.cpp:566] report error status: PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception to coordinator: TNetworkAddress(hostname=10.10.8.23, port=9020), query id: df25afd78e5f4081-a82bda4e3d3dc882 W20260111 14:38:21.570017 1909997 fragment_mgr.cpp:566] report error status: PStatus: send fragments failed. io.grpc.StatusRuntimeException: UNAVAILABLE: io exception to coordinator: TNetworkAddress(hostname=10.10.8.23, port=9020), query id: df25afd78e5f4081-a82bda4e3d3dc882

  2. 如果原表定义:

     `update_time`                         datetime        NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间"
    

创建视图 select * from 原表;

查询视图或原表: select * where update_time is null 都为空;

但直接查询数据时: select * from 原表 , update_time 没有空值。
select * from 原表 , update_time 有空值。

1 Answers

这个问题的栈:

*** Query id: 5b4e1544e5bf4c6c-a95ec0ff5a7b72f8 ***
*** is nereids: 1 ***
*** tablet id: 0 ***
*** Aborted at 1768114656 (unix time) try "date -d @1768114656" if you are using GNU date ***
*** Current BE git commitID: 30d2df0459 ***
*** SIGSEGV address not mapped to object (@0x0) received by PID 1909808 (TID 1910237 OR 0x7f14d837f640) from PID 0; stack trace: ***
 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_release/doris/be/src/common/signal_handler.h:420
 1# PosixSignals::chained_handler(int, siginfo*, void*) [clone .part.0] in /opt/doris/java17/lib/server/libjvm.so
 2# JVM_handle_linux_signal in /opt/doris/java17/lib/server/libjvm.so
 3# 0x00007F15F5B3E520 in /lib/x86_64-linux-gnu/libc.so.6
 4# doris::pipeline::MaterializationSharedState::merge_multi_response() at /home/zcp/repo_center/doris_release/doris/be/src/pipeline/exec/materialization_opertor.cpp:85
 5# doris::pipeline::MaterializationOperator::push(doris::RuntimeState*, doris::vectorized::Block*, bool) const at /home/zcp/repo_center/doris_release/doris/be/src/pipeline/exec/materialization_opertor.cpp:357
 6# doris::pipeline::StatefulOperatorX<doris::pipeline::MaterializationLocalState>::get_block(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/pipeline/exec/operator.cpp:700
 7# doris::pipeline::OperatorXBase::get_block_after_projects(doris::RuntimeState*, doris::vectorized::Block*, bool*) in /opt/doris/be/lib/doris_be
 8# doris::pipeline::PipelineTask::execute(bool*) in /opt/doris/be/lib/doris_be
 9# doris::pipeline::TaskScheduler::_do_work(int) at /home/zcp/repo_center/doris_release/doris/be/src/pipeline/task_scheduler.cpp:153
10# doris::ThreadPool::dispatch_thread() at /home/zcp/repo_center/doris_release/doris/be/src/util/threadpool.cpp:623
11# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_release/doris/be/src/util/thread.cpp:461
12# 0x00007F15F5B90AC3 in /lib/x86_64-linux-gnu/libc.so.6
13# 0x00007F15F5C228C0 in /lib/x86_64-linux-gnu/libc.so.6

4.0.3 已经fix : https://github.com/apache/doris/pull/58470