Doris执行Insert SQL时,导致3个BE同时挂掉

Viewed 7

项目上使用的是doris2.1.8.1,执行sql时,偶发一次导致3个be同时挂掉(集群规模是3fe3be),从目前的观察来看,只出现过一次。be崩溃时,报错如下:****粗体粗体

StdoutLogger 2026-04-27 09:25:48,564 Start time: 2026年 04月 27日 星期一 09:25:48 CST
INFO: java_cmd /usr/local/java/bin/java
INFO: jdk_version 8
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/data/apache-doris/be/lib/java_extensions/preload-extensions/preload-extensions-jar-with-dependencies.
jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/data/apache-doris/be/lib/java_extensions/java-udf/java-udf-jar-with-dependencies.jar!/org/slf4j/impl/
StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/data/apache-doris/be/lib/hadoop_hdfs/common/lib/slf4j-reload4j-1.7.36.jar!/org/slf4j/impl/StaticLogge
rBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Reload4jLoggerFactory]
*** Query id: 9cc4b9eca31b4b93-b4b1aa54680bba2c ***
*** is nereids: 1 ***
*** tablet id: 0 ***
*** Aborted at 1777253341 (unix time) try "date -d @1777253341" if you are using GNU date ***
*** Current BE git commitID: 834d802457 ***
*** SIGSEGV invalid permissions for mapped object (@0x55948ba01718) received by PID 51081 (TID 58237 OR 0x7f5cc3cf5700) from PID 1844674
4071757109016; stack trace: ***
 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_release/doris/be/s
rc/common/signal_handler.h:421
 1# os::Linux::chained_handler(int, siginfo*, void*) in /usr/local/java/jre/lib/amd64/server/libjvm.so
 2# JVM_handle_linux_signal in /usr/local/java/jre/lib/amd64/server/libjvm.so
 3# signalHandler(int, siginfo*, void*) in /usr/local/java/jre/lib/amd64/server/libjvm.so
 4# 0x00007F7530DE5400 in /lib64/libc.so.6
 5# doris::AttachTask::AttachTask(doris::QueryContext*) at /home/zcp/repo_center/doris_release/doris/be/src/runtime/thread_context.cpp:6
0
@    
 6# std::_Function_handler<void (), doris::pipeline::PipelineXFragmentContext::_build_pipeline_x_tasks(doris::TPipelineFragmentParams co
nst&, doris::ThreadPool*)::$_1>::_M_invoke(std::_Any_data const&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../.
./../include/c++/11/bits/std_function.h:291
7# doris::ThreadPool::dispatch_thread() in /data/apache-doris/be/lib/doris_be
8# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_release/doris/be/src/util/thread.cpp:499
9# start_thread in /lib64/libpthread.so.0
10# clone in /lib64/libc.so.6

执行的SQL也比较长,如下:

insert into dwd_1_0_7_20240925152735.dwd_pec_pebill_applyitem\n(ID
\n,CS_PEBILL_APPLYITEM_CODE\n,TENANT_ID\n,HOSPITAL_CODE\n,ARCHIVE_NO\n,PE_NO\n,PID\n,TEAM_NO\n,TASK_NO\n,GROUP_NO\n,PACKAGE_ID\n,APPLYIT
EM_ID\n,APPLYITEM_NAME\n,UNIT_PRICE\n,HIS_UNIT_PRICE\n,UNIFIED_AMOUNT\n,SELFPAY_AMOUNT\n,IS_REGISTER\n,REGISTER_YEAR\n,REGISTER_MONTH\n,
REGISTER_DAY\n,DEPT_ID\n,BILLING_DOCTOR_ID\n,CHECK_DOCTOR_ID\n,IS_DROP_CHECK\n,IS_CHECKED\n,IS_AUDIT\n,CHECK_DAY\n,IS_CHARGING\n,IS_BOOK
KEEPING\n,IS_REFUND\n,IS_PREPARING_REFUND\n,IS_DELIVERY\n,IS_SEND_THIRD\n,CREATE_USER\n,CREATE_DEPT\n,CREATE_TIME\n,UPDATE_USER\n,UPDATE
_TIME\n,STATUS\n,IS_DELETED\n,REMARK\n,IS_CAN_CHANGE_ITEM\n,SAMPLE_TYPE\n,INSPECTION_GROUP_ID\n,IS_CAN_DISCOUNT\n,BARCODE_NO\n,IS_INSPEC
TION_ITEM\n,INSPECTION_GROUP\n,IS_ON_OWN_COLLECTION\n,IS_ON_OWN_REPORT\n,BODY_PART_NUMBER\n,SUPPLYITEM_ID\n,ITEM_TYPE\n,IS_RECOMMAND\n,C
HARGE_DATE\n,RECEIVABLE_AMOUNT\n,COLLECT_DEPT_ID\n,OPERATION_DOCTOR_ID\n,OPERATION_DOCTOR_TIME\n,AUDIT_STATUS\n,APPOINTMENT_DATE\n,AUDIT
_USER\n,AUDIT_TIME\n,PAY_TIME\n,ITEM_PAY_SUCCESS_TIME\n,ITEM_REFUND_TIME\n,IS_DELAY_CHECK\n,IS_ANOTHER_CHECK\n,IS_PRINT_GUIDEBILL\n,IS_S
END_THIRD_GMD\n,IS_SEND_THIRD_C13\n,IS_SEND_THIRD_LIVER_FIBER\n,IS_SEND_THIRD_LIS\n,IS_LIS_COLLECT\n,IS_SEND_PACS\n,CHARGE_MODE\n,IS_TAL
LY\n,PRINT_STATUS\n,DROP_CHECK_USER\n,DROP_CHECK_DATETIME\n,IS_SINGLE_OUT_REPORT\n,IS_FROM_PACKAGE\n,ANOTHER_CHECK_OPERATE_USER_ID\n,APP
O_OPERATE_USER\n,APPO_OPERATE_DATE\n,ANOTHER_CHECK_OPERATE_DATE\n,DELAY_CHECK_OPERATE_USER_ID\n,DELAY_CHECK_OPERATE_DATE\n,IS_NO_DISPLAY
\n,DISCOUNT_AMOUNT\n,HIS_REFUND_STATUS\n,IS_DELAY_BACK\n,IS_JDT_ITEM\n,PRICE_POSI_NEGA_FLAG\n,RECOMMEND_USER\n,RECOMMEND_DATE\n,SEND_FLA
G\n,GENESIS_NEW_ID\n,GENESIS_UPD\n,GENESIS_DEL\n,GENESIS_CREATE_TIME\n)\nselect \nid\n,cs_pebill_applyitem_code\n,tenant_id\n,hospital_c
ode\n,archive_no\n,pe_no\n,pid\n,team_no\n,task_no\n,group_no\n,package_id\n,applyitem_id\n,applyitem_name\n,unit_price\n,his_unit_price
\n,unified_amount\n,selfpay_amount\n,is_register\n,register_year\n,register_month\n,register_day\n,dept_id\n,billing_doctor_id\n,check_d
octor_id\n,is_drop_check\n,is_checked\n,is_audit\n,check_day\n,is_charging\n,is_bookkeeping\n,is_refund\n,is_preparing_refund\n,is_deliv
ery\n,is_send_third\n,create_user\n,create_dept\n,create_time\n,update_user\n,update_time\n,status\n,is_deleted\n,remark\n,is_can_change
_item\n,sample_type\n,inspection_group_id\n,is_can_discount\n,barcode_no\n,is_inspection_item\n,inspection_group\n,is_on_own_collection\
n,is_on_own_report\n,body_part_number\n,supplyitem_id\n,item_type\n,is_recommand\n,charge_date\n,receivable_amount\n,collect_dept_id\n,o
peration_doctor_id\n,operation_doctor_time\n,audit_status\n,appointment_date\n,audit_user\n,audit_time\n,pay_time\n,item_pay_success_tim
e\n,item_refund_time\n,is_delay_check\n,is_another_check\n,is_print_guidebill\n,is_send_third_gmd\n,is_send_third_c13\n,is_send_third_li
ver_fiber\n,is_send_third_lis\n,is_lis_collect\n,is_send_pacs\n,charge_mode\n,is_tally\n,print_status\n,drop_check_user\n,drop_check_dat
etime\n,is_single_out_report\n,is_from_package\n,another_check_operate_user_id\n,appo_operate_user\n,appo_operate_date\n,another_check_o
perate_date\n,delay_check_operate_user_id\n,delay_check_operate_date\n,is_no_display\n,discount_amount\n,his_refund_status\n,is_delay_ba
ck\n,is_jdt_item\n,price_posi_nega_flag\n,recommend_user\n,recommend_date\n,send_flag\n,id as genesis_new_id\n,0 as genesis_upd\n,0 as g
enesis_del\n,current_timestamp() as genesis_create_time\nfrom ods_clncenter.ods_cln_woodpecker_pec_pebill_applyitem\nwhere op!='d'\nand 
cast(from_unixtime(_transform_dt/1000,'yyyy-MM-dd') AS date)>=date_add(current_timestamp(),INTERVAL -1 HOUR)
0 Answers