You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by GitBox <gi...@apache.org> on 2022/10/31 08:35:22 UTC
[GitHub] [doris] BiteTheDDDDt opened a new pull request, #13819: [Bug](function) change log fatal to return 0 to avoid code dump on nullable double column cast to decimal column
BiteTheDDDDt opened a new pull request, #13819:
URL: https://github.com/apache/doris/pull/13819
# Proposed changes
change log fatal to return 0 to avoid code dump on nullable double column cast to decimal column
```sql
start time: Mon Oct 31 15:49:03 CST 2022
F1031 15:52:21.753562 140995 data_type_decimal.h:379] Decimal convert overflow. Cannot convert infinity or NaN to decimal
*** Check failure stack trace: ***
@ 0x559d1bcc91cd google::LogMessage::Fail()
@ 0x559d1bccb709 google::LogMessage::SendToLog()
@ 0x559d1bcc8d36 google::LogMessage::Flush()
@ 0x559d1bccbd79 google::LogMessageFatal::~LogMessageFatal()
@ 0x559d1aa8b6c8 _ZN5doris10vectorized18convert_to_decimalINS0_14DataTypeNumberIdEENS0_15DataTypeDecimalINS0_7DecimalInEEEEEENSt9enable_ifIXaa16IsDataTypeNumberIT_E17IsDataTypeDecimalIT0_EENSA_9FieldTypeEE4typeERKNS9_9FieldTypeEj
@ 0x559d1aa8b4a0 doris::vectorized::ConvertImpl<>::execute<>()
@ 0x559d1aa8941f _ZN5doris10vectorized27call_on_index_and_data_typeINS0_15DataTypeDecimalINS0_7DecimalInEEEEZZNKS0_12FunctionCast22create_decimal_wrapperIS4_EESt8functionIFNS_6StatusEPN9doris_udf15FunctionContextERNS0_5BlockERKSt6vectorImSaImEEmmEERKSt10shared_ptrIKNS0_9IDataTypeEEPKNS2_IT_EEENKUlSC_SE_SJ_mmE_clESC_SE_SJ_mmEUlRKSS_E_EEbNS0_9TypeIndexEOT0_
@ 0x559d1aa88f53 _ZZNK5doris10vectorized12FunctionCast22create_decimal_wrapperINS0_7DecimalInEEEESt8functionIFNS_6StatusEPN9doris_udf15FunctionContextERNS0_5BlockERKSt6vectorImSaImEEmmEERKSt10shared_ptrIKNS0_9IDataTypeEEPKNS0_15DataTypeDecimalIT_EEENKUlS9_SB_SG_mmE_clES9_SB_SG_mm
@ 0x559d1aa88ebf _ZNSt17_Function_handlerIFN5doris6StatusEPN9doris_udf15FunctionContextERNS0_10vectorized5BlockERKSt6vectorImSaImEEmmEZNKS5_12FunctionCast22create_decimal_wrapperINS5_7DecimalInEEEESt8functionISD_ERKSt10shared_ptrIKNS5_9IDataTypeEEPKNS5_15DataTypeDecimalIT_EEEUlS4_S7_SC_mmE_E9_M_invokeERKSt9_Any_dataOS4_S7_SC_OmS11_
@ 0x559d1aab3cd4 _ZZNK5doris10vectorized12FunctionCast23prepare_remove_nullableERKSt10shared_ptrIKNS0_9IDataTypeEES7_bENKUlPN9doris_udf15FunctionContextERNS0_5BlockERKSt6vectorImSaImEEmmE_clESA_SC_SH_mm
@ 0x559d1aab36d2 _ZNSt17_Function_handlerIFN5doris6StatusEPN9doris_udf15FunctionContextERNS0_10vectorized5BlockERKSt6vectorImSaImEEmmEZNKS5_12FunctionCast23prepare_remove_nullableERKSt10shared_ptrIKNS5_9IDataTypeEESK_bEUlS4_S7_SC_mmE_E9_M_invokeERKSt9_Any_dataOS4_S7_SC_OmSR_
@ 0x559d1aa3a7ab doris::vectorized::PreparedFunctionCast::execute_impl()
@ 0x559d1a96d507 doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns()
@ 0x559d1a96d8d6 doris::vectorized::PreparedFunctionImpl::execute()
@ 0x559d1a31791f doris::vectorized::IFunctionBase::execute()
@ 0x559d1a30ccb6 doris::vectorized::VCastExpr::execute()
@ 0x559d1a30101c doris::vectorized::VExprContext::get_output_block_after_execute_exprs()
@ 0x559d1b755871 doris::stream_load::VOlapTableSink::send()
@ 0x559d18b37868 doris::PlanFragmentExecutor::open_vectorized_internal()
@ 0x559d18b368c4 doris::PlanFragmentExecutor::open()
@ 0x559d18b20027 doris::FragmentExecState::execute()
@ 0x559d18b224cb doris::FragmentMgr::_exec_actual()
@ 0x559d18b2ab41 std::_Function_handler<>::_M_invoke()
@ 0x559d18d309bf doris::ThreadPool::dispatch_thread()
@ 0x559d18d29bdc doris::Thread::supervise_thread()
@ 0x7fd63d236ea5 start_thread
@ 0x7fd63da4fb0d __clone
@ (nil) (unknown)
*** Query id: cdf34abc878049f0-a7d82a54dd7a8d32 ***
*** Aborted at 1667202950 (unix time) try "date -d @1667202950" if you are using GNU date ***
*** Current BE git commitID: 4f2ea0776 ***
*** SIGABRT unkown detail explain (@0x41000022570) received by PID 140656 (TID 0x7fd5c7716700) from PID 140656; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /mnt/disk1/pxl/doris/be/src/common/signal_handler.h:420
1# 0x00007FD63D987400 in /lib64/libc.so.6
2# gsignal in /lib64/libc.so.6
3# abort in /lib64/libc.so.6
4# 0x0000559D1BCD3BB9 in /mnt/disk1/pxl/doris/output/be/lib/doris_be
5# 0x0000559D1BCC91CD in /mnt/disk1/pxl/doris/output/be/lib/doris_be
6# google::LogMessage::SendToLog() in /mnt/disk1/pxl/doris/output/be/lib/doris_be
7# google::LogMessage::Flush() in /mnt/disk1/pxl/doris/output/be/lib/doris_be
8# google::LogMessageFatal::~LogMessageFatal() in /mnt/disk1/pxl/doris/output/be/lib/doris_be
9# std::enable_if<(IsDataTypeNumber<doris::vectorized::DataTypeNumber<double> >)&&(IsDataTypeDecimal<doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > >), doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> >::FieldType>::type doris::vectorized::convert_to_decimal<doris::vectorized::DataTypeNumber<double>, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > >(doris::vectorized::DataTypeNumber<double>::FieldType const&, unsigned int) in /mnt/disk1/pxl/doris/output/be/lib/doris_be
10# doris::Status doris::vectorized::ConvertImpl<doris::vectorized::DataTypeNumber<double>, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> >, doris::vectorized::NameCast>::execute<unsigned int>(doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, unsigned int) at /mnt/disk1/pxl/doris/be/src/vec/functions/function_cast.h:119
11# bool doris::vectorized::call_on_index_and_data_type<doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> >, doris::vectorized::FunctionCast::create_decimal_wrapper<doris::vectorized::Decimal<__int128> >(std::shared_ptr<doris::vectorized::IDataType const> const&, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > const*) const::{lambda(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}::operator()(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) const::{lambda(auto:1 const&)#1}>(doris::vectorized::TypeIndex, doris::vectorized::FunctionCast::create_decimal_wrapper<doris::vectorized::Decimal<__int128> >(std::shared_ptr<doris::vectorized::IDataType const> const&, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128>
> const*) const::{lambda(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}::operator()(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) const::{lambda(auto:1 const&)#1}&&) at /mnt/disk1/pxl/doris/be/src/vec/core/call_on_type_index.h:199
12# doris::vectorized::FunctionCast::create_decimal_wrapper<doris::vectorized::Decimal<__int128> >(std::shared_ptr<doris::vectorized::IDataType const> const&, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > const*) const::{lambda(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}::operator()(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) const at /mnt/disk1/pxl/doris/be/src/vec/functions/function_cast.h:1342
13# std::_Function_handler<doris::Status (doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long), doris::vectorized::FunctionCast::create_decimal_wrapper<doris::vectorized::Decimal<__int128> >(std::shared_ptr<doris::vectorized::IDataType const> const&, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > const*) const::{lambda(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}>::_M_invoke(std::_Any_data const&, doris_udf::FunctionContext*&&, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long&&, unsigned long&&) at /mnt/disk1/pxl/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
14# doris::vectorized::FunctionCast::prepare_remove_nullable(std::shared_ptr<doris::vectorized::IDataType const> const&, std::shared_ptr<doris::vectorized::IDataType const> const&, bool) const::{lambda(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}::operator()(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) const at /mnt/disk1/pxl/doris/be/src/vec/functions/function_cast.h:1556
15# std::_Function_handler<doris::Status (doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long), doris::vectorized::FunctionCast::prepare_remove_nullable(std::shared_ptr<doris::vectorized::IDataType const> const&, std::shared_ptr<doris::vectorized::IDataType const> const&, bool) const::{lambda(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}>::_M_invoke(std::_Any_data const&, doris_udf::FunctionContext*&&, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long&&, unsigned long&&) at /mnt/disk1/pxl/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
16# doris::vectorized::PreparedFunctionCast::execute_impl(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) at /mnt/disk1/pxl/doris/be/src/vec/functions/function_cast.h:1021
17# doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) in /mnt/disk1/pxl/doris/output/be/lib/doris_be
18# doris::vectorized::PreparedFunctionImpl::execute(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) at /mnt/disk1/pxl/doris/be/src/vec/functions/function.cpp:272
19# doris::vectorized::IFunctionBase::execute(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) at /mnt/disk1/pxl/doris/be/src/vec/functions/function.h:136
20# doris::vectorized::VCastExpr::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) at /mnt/disk1/pxl/doris/be/src/vec/exprs/vcast_expr.cpp:87
21# doris::vectorized::VExprContext::get_output_block_after_execute_exprs(std::vector<doris::vectorized::VExprContext*, std::allocator<doris::vectorized::VExprContext*> > const&, doris::vectorized::Block const&, doris::Status&) at /mnt/disk1/pxl/doris/be/src/vec/exprs/vexpr_context.cpp:143
22# doris::stream_load::VOlapTableSink::send(doris::RuntimeState*, doris::vectorized::Block*) at /mnt/disk1/pxl/doris/be/src/vec/sink/vtablet_sink.cpp:472
23# doris::PlanFragmentExecutor::open_vectorized_internal() in /mnt/disk1/pxl/doris/output/be/lib/doris_be
24# doris::PlanFragmentExecutor::open() in /mnt/disk1/pxl/doris/output/be/lib/doris_be
25# doris::FragmentExecState::execute() at /mnt/disk1/pxl/doris/be/src/runtime/fragment_mgr.cpp:249
26# doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>) at /mnt/disk1/pxl/doris/be/src/runtime/fragment_mgr.cpp:493
27# std::_Function_handler<void (), doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::PlanFragmentExecutor*)>)::$_3>::_M_invoke(std::_Any_data const&) at /mnt/disk1/pxl/ldb/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
28# doris::ThreadPool::dispatch_thread() in /mnt/disk1/pxl/doris/output/be/lib/doris_be
29# doris::Thread::supervise_thread(void*) at /mnt/disk1/pxl/doris/be/src/util/thread.cpp:455
30# start_thread in /lib64/libpthread.so.0
31# clone in /lib64/libc.so.6
```
## Problem summary
Describe your changes.
## Checklist(Required)
1. Does it affect the original behavior:
- [ ] Yes
- [ ] No
- [ ] I don't know
2. Has unit tests been added:
- [ ] Yes
- [ ] No
- [ ] No Need
3. Has document been added or modified:
- [ ] Yes
- [ ] No
- [ ] No Need
4. Does it need to update dependencies:
- [ ] Yes
- [ ] No
5. Are there any changes that cannot be rolled back:
- [ ] Yes (If Yes, please explain WHY)
- [ ] No
## Further comments
If this is a relatively large or complex change, kick off the discussion at [dev@doris.apache.org](mailto:dev@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-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
[GitHub] [doris] hello-stephen commented on pull request #13819: [Bug](function) change log fatal to log warning to avoid code dump on nullable double column cast to decimal column
Posted by GitBox <gi...@apache.org>.
hello-stephen commented on PR #13819:
URL: https://github.com/apache/doris/pull/13819#issuecomment-1297063340
TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 38.32 seconds
load time: 575 seconds
storage size: 17154644844 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221031130808_clickbench_pr_36511.html
--
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-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
[GitHub] [doris] HappenLee merged pull request #13819: [Bug](function) change log fatal to log warning to avoid code dump on nullable double column cast to decimal column
Posted by GitBox <gi...@apache.org>.
HappenLee merged PR #13819:
URL: https://github.com/apache/doris/pull/13819
--
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-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Bug](function) change log fatal to log warning to avoid code dump on nullable double column cast to decimal column [doris]
Posted by "xunfeng1980 (via GitHub)" <gi...@apache.org>.
xunfeng1980 commented on PR #13819:
URL: https://github.com/apache/doris/pull/13819#issuecomment-1996600449
ooo
--
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-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org