BiteTheDDDDt opened a new pull request, #28050: URL: https://github.com/apache/doris/pull/28050
## Proposed changes fix stream load failed on agg-state column ```cpp 2023-12-06 11:30:51,014 INFO (thrift-server-pool-3|533) [DatabaseTransactionMgr.abortTransaction():1433] abort transaction: TransactionState. transaction id: 33020, label: 784f0131-35ad-449b-9c26-a5e40109e08b, db id: 18879, table id list: 336021, callback id: -1, coordinator: BE: 127.0.0.1, transaction status: ABORTED, error replicas num: 0, replica ids: , prepare time: 1701833419507, commit time: -1, finish time: 1701833451011, reason: [INTERNAL_ERROR]State function meet input nullable column, but signature is not nullable 0# doris::Status doris::Status::Error<6, true>(std::basic_string_view<char, std::char_traits<char> >) at /mnt/disk1/xiaolei/incubator-doris/be/src/common/status.h:366 1# doris::Status doris::Status::InternalError<true>(std::basic_string_view<char, std::char_traits<char> >) at /mnt/disk1/xiaolei/incubator-doris/be/src/common/status.h:411 2# doris::vectorized::FunctionAggState::execute_impl(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) const at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/functions/function_agg_state.h:77 3# doris::vectorized::DefaultExecutable::execute_impl(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) const at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/functions/function.h:499 4# doris::vectorized::PreparedFunctionImpl::_execute_skipped_constant_deal(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/functions/function.cpp:151 5# doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/functions/function.cpp:262 6# doris::vectorized::PreparedFunctionImpl::execute(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/functions/function.cpp:268 7# doris::vectorized::IFunctionBase::execute(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/functions/function.h:177 8# doris::vectorized::VectorizedFnCall::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/exprs/vectorized_fn_call.cpp:164 9# doris::vectorized::VExprContext::execute(doris::vectorized::Block*, int*) at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/exprs/vexpr_context.cpp:60 10# doris::vectorized::VFileScanner::_convert_to_output_block(doris::vectorized::Block*) at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/exec/scan/vfile_scanner.cpp:584 11# doris::vectorized::VFileScanner::_get_block_impl(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/exec/scan/vfile_scanner.cpp:350 12# doris::vectorized::VScanner::get_block(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/exec/scan/vscanner.cpp:92 13# doris::vectorized::ScannerScheduler::_scanner_scan(doris::vectorized::ScannerScheduler*, doris::vectorized::ScannerContext*, std::shared_ptr<doris::vectorized::VScanner>) at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/exec/scan/scanner_scheduler.cpp:372 14# doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()() const::{lambda()#5}::operator()() const at /mnt/disk1/xiaolei/incubator-doris/be/src/vec/exec/scan/scanner_scheduler.cpp:272 15# void std::__invoke_impl<void, doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()() const::{lambda()#5}&>(std::__invoke_other, doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()() const::{lambda()#5}&) at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61 16# std::enable_if<is_invocable_r_v<void, doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()() const::{lambda()#5}&>, void>::type std::__invoke_r<void, doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()() const::{lambda()#5}&>(doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()() const::{lambda()#5}&) at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:117 17# std::_Function_handler<void (), doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()() const::{lambda()#5}>::_M_invoke(std::_Any_data const&) at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291 18# std::function<void ()>::operator()() const at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560 19# doris::WorkThreadPool<true>::work_thread(int) at /mnt/disk1/xiaolei/incubator-doris/be/src/util/work_thread_pool.hpp:158 20# void std::__invoke_impl<void, void (doris::WorkThreadPool<true>::* const&)(int), doris::WorkThreadPool<true>*&, int&>(std::__invoke_memfun_deref, void (doris::WorkThreadPool<true>::* const&)(int), doris::WorkThreadPool<true>*&, int&) at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74 21# std::__invoke_result<void (doris::WorkThreadPool<true>::* const&)(int), doris::WorkThreadPool<true>*&, int&>::type std::__invoke<void (doris::WorkThreadPool<true>::* const&)(int), doris::WorkThreadPool<true>*&, int&>(void (doris::WorkThreadPool<true>::* const&)(int), doris::WorkThreadPool<true>*&, int&) at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96 22# decltype (std::__invoke((*this)._M_pmf, std::forward<doris::WorkThreadPool<true>*&>({parm#1}), std::forward<int&>({parm#1}))) std::_Mem_fn_base<void (doris::WorkThreadPool<true>::*)(int), true>::operator()<doris::WorkThreadPool<true>*&, int&>(doris::WorkThreadPool<true>*&, int&) const at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:131 23# void std::__invoke_impl<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, int&>(std::__invoke_other, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, int&) at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61 24# std::enable_if<is_invocable_r_v<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, int&>, void>::type std::__invoke_r<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, int&>(std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, int&) at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:117 25# void std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:570 26# void std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>::operator()<>() at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:629 27# void std::__invoke_impl<void, std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>>(std::__invoke_other, std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>&&) at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61 28# std::__invoke_result<std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>>::type std::__invoke<std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>>(std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>&&) at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96 29# void std::thread::_Invoker<std::tuple<std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>) at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:253 30# std::thread::_Invoker<std::tuple<std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)> > >::operator()() at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:260 31# std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::_Bind_result<void, std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)> > > >::_M_run() at /mnt/disk1/xiaolei/ldb_16/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211 32# execute_native_thread_routine at /data/gcc-11.1.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:85 33# start_thread 34# clone successfully ``` ## 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