-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[Fix](inverted index) fix rename column build index bug #50056
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
Comments suppressed due to low confidence (2)
be/test/olap/index_builder_test.cpp:1246
- [nitpick] The assertion message suggests two index files should be present while the test expects only one. Please update the comment message to accurately reflect that only the valid (k1) index should be built.
EXPECT_EQ(new_idx_file_count, 1) << "New directory should contain exactly 1 .idx files (for k1 and k2, not k3)";
be/src/olap/tablet_schema.cpp:754
- [nitpick] Consider adding an inline comment explaining why using has_column_unique_id is preferred over the previous num_columns() check to clarify its purpose and expected behavior.
tablet_schema.has_column_unique_id(index.column_unique_ids[i])) {
TPC-H: Total hot run time: 34351 ms |
|
run buildall |
TPC-H: Total hot run time: 34759 ms |
TPC-DS: Total hot run time: 186034 ms |
ClickBench: Total hot run time: 31.27 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
eldenmoon
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
csun5285
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Problem Summary: fix DCHECK error after multiple add/drop rename column when building inverted index ``` F20250408 11:43:45.886974 1066024 index_builder.cpp:423] Check failed: output_rowset_schema->has_inverted_index_with_index_id(index_id) *** Check failure stack trace: *** F20250408 11:43:45.886988 1066022 index_builder.cpp:423] Check failed: output_rowset_schema->has_inverted_index_with_index_id(index_id) *** Check failure stack trace: *** @ 0x590b0f234d26 google::LogMessage::SendToLog() @ 0x590b0f234d26 google::LogMessage::SendToLog() @ 0x590b0f231770 google::LogMessage::Flush() @ 0x590b0f231770 google::LogMessage::Flush() @ 0x590b0f235569 google::LogMessageFatal::~LogMessageFatal() @ 0x590b0f235569 google::LogMessageFatal::~LogMessageFatal() @ 0x590ad85d3459 doris::IndexBuilder::handle_single_rowset() @ 0x590ad85daf25 doris::IndexBuilder::handle_inverted_index_data() @ 0x590ad85d3459 doris::IndexBuilder::handle_single_rowset() @ 0x590ad85ddc31 doris::IndexBuilder::do_build_inverted_index() @ 0x590ad85daf25 doris::IndexBuilder::handle_inverted_index_data() @ 0x590ad711ad86 doris::StorageEngine::_handle_index_change() @ 0x590ad85ddc31 doris::IndexBuilder::do_build_inverted_index() @ 0x590ad711a1da doris::StorageEngine::process_index_change_task() @ 0x590ad711ad86 doris::StorageEngine::_handle_index_change() @ 0x590ad857b89d doris::EngineIndexChangeTask::execute() @ 0x590ad711a1da doris::StorageEngine::process_index_change_task() @ 0x590ad49deea2 doris::alter_inverted_index_callback() @ 0x590ad4a1de9d _ZNSt17_Function_handlerIFvvEZZN5doris14TaskWorkerPool11submit_taskERKNS1_17TAgentTaskRequestEENK3$_0clIS5_EEDaOT_EUlvE_E9_M_invokeERKSt9_Any_data @ 0x590ad857b89d doris::EngineIndexChangeTask::execute() @ 0x590ad936128b doris::ThreadPool::dispatch_thread() @ 0x590ad49deea2 doris::alter_inverted_index_callback() @ 0x590ad4a1de9d _ZNSt17_Function_handlerIFvvEZZN5doris14TaskWorkerPool11submit_taskERKNS1_17TAgentTaskRequestEENK3$_0clIS5_EEDaOT_EUlvE_E9_M_invokeERKSt9_Any_data @ 0x590ad9337828 doris::Thread::supervise_thread() @ 0x740bd7c9caa4 (unknown) @ 0x740bd7d29c3c (unknown) @ (nil) (unknown) *** Query id: 0-0 *** *** is nereids: 0 *** *** tablet id: 0 *** *** Aborted at 1744083830 (unix time) try "date -d @1744083830" if you are using GNU date *** *** Current BE git commitID: 3640f6c *** *** SIGABRT unknown detail explain (@0x10417b) received by PID 1065339 (TID 1066024 OR 0x7408c42006c0) from PID 1065339; stack trace: *** @ 0x590ad936128b doris::ThreadPool::dispatch_thread() @ 0x590ad9337828 doris::Thread::supervise_thread() @ 0x740bd7c9caa4 (unknown) @ 0x740bd7d29c3c (unknown) @ (nil) (unknown) 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_master/doris/be/src/common/signal_handler.h:421 1# 0x0000740BD7C45330 in /lib/x86_64-linux-gnu/libc.so.6 2# pthread_kill in /lib/x86_64-linux-gnu/libc.so.6 3# gsignal in /lib/x86_64-linux-gnu/libc.so.6 4# abort in /lib/x86_64-linux-gnu/libc.so.6 5# 0x0000590B0F23F5FD in /root/wyx/doris/be/lib/doris_be 6# 0x0000590B0F231C3A in /root/wyx/doris/be/lib/doris_be 7# google::LogMessage::SendToLog() in /root/wyx/doris/be/lib/doris_be 8# google::LogMessage::Flush() in /root/wyx/doris/be/lib/doris_be 9# google::LogMessageFatal::~LogMessageFatal() in /root/wyx/doris/be/lib/doris_be 10# doris::IndexBuilder::handle_single_rowset(std::shared_ptr<doris::RowsetMeta>, std::vector<std::shared_ptr<doris::segment_v2::Segment>, std::allocator<std::shared_ptr<doris::segment_v2::Segment> > >&) at /home/zcp/repo_center/doris_master/doris/be/src/olap/task/index_builder.cpp:423 11# doris::IndexBuilder::handle_inverted_index_data() at /home/zcp/repo_center/doris_master/doris/be/src/olap/task/index_builder.cpp:711 12# doris::IndexBuilder::do_build_inverted_index() in /root/wyx/doris/be/lib/doris_be 13# doris::StorageEngine::_handle_index_change(std::shared_ptr<doris::IndexBuilder>) at /home/zcp/repo_center/doris_master/doris/be/src/olap/olap_server.cpp:1213 14# doris::StorageEngine::process_index_change_task(doris::TAlterInvertedIndexReq const&) at /home/zcp/repo_center/doris_master/doris/be/src/olap/olap_server.cpp:1207 15# doris::EngineIndexChangeTask::execute() in /root/wyx/doris/be/lib/doris_be 16# doris::alter_inverted_index_callback(doris::StorageEngine&, doris::TAgentTaskRequest const&) in /root/wyx/doris/be/lib/doris_be 17# std::_Function_handler<void (), doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest const&)::$_0::operator()<doris::TAgentTaskRequest const&>(doris::TAgentTaskRequest const&) const::{lambda()#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 18# doris::ThreadPool::dispatch_thread() in /root/wyx/doris/be/lib/doris_be 19# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_master/doris/be/src/util/thread.cpp:497 20# 0x0000740BD7C9CAA4 in /lib/x86_64-linux-gnu/libc.so.6 21# 0x0000740BD7D29C3C in /lib/x86_64-linux-gnu/libc.so.6 ```
Problem Summary: fix DCHECK error after multiple add/drop rename column when building inverted index ``` F20250408 11:43:45.886974 1066024 index_builder.cpp:423] Check failed: output_rowset_schema->has_inverted_index_with_index_id(index_id) *** Check failure stack trace: *** F20250408 11:43:45.886988 1066022 index_builder.cpp:423] Check failed: output_rowset_schema->has_inverted_index_with_index_id(index_id) *** Check failure stack trace: *** @ 0x590b0f234d26 google::LogMessage::SendToLog() @ 0x590b0f234d26 google::LogMessage::SendToLog() @ 0x590b0f231770 google::LogMessage::Flush() @ 0x590b0f231770 google::LogMessage::Flush() @ 0x590b0f235569 google::LogMessageFatal::~LogMessageFatal() @ 0x590b0f235569 google::LogMessageFatal::~LogMessageFatal() @ 0x590ad85d3459 doris::IndexBuilder::handle_single_rowset() @ 0x590ad85daf25 doris::IndexBuilder::handle_inverted_index_data() @ 0x590ad85d3459 doris::IndexBuilder::handle_single_rowset() @ 0x590ad85ddc31 doris::IndexBuilder::do_build_inverted_index() @ 0x590ad85daf25 doris::IndexBuilder::handle_inverted_index_data() @ 0x590ad711ad86 doris::StorageEngine::_handle_index_change() @ 0x590ad85ddc31 doris::IndexBuilder::do_build_inverted_index() @ 0x590ad711a1da doris::StorageEngine::process_index_change_task() @ 0x590ad711ad86 doris::StorageEngine::_handle_index_change() @ 0x590ad857b89d doris::EngineIndexChangeTask::execute() @ 0x590ad711a1da doris::StorageEngine::process_index_change_task() @ 0x590ad49deea2 doris::alter_inverted_index_callback() @ 0x590ad4a1de9d _ZNSt17_Function_handlerIFvvEZZN5doris14TaskWorkerPool11submit_taskERKNS1_17TAgentTaskRequestEENK3$_0clIS5_EEDaOT_EUlvE_E9_M_invokeERKSt9_Any_data @ 0x590ad857b89d doris::EngineIndexChangeTask::execute() @ 0x590ad936128b doris::ThreadPool::dispatch_thread() @ 0x590ad49deea2 doris::alter_inverted_index_callback() @ 0x590ad4a1de9d _ZNSt17_Function_handlerIFvvEZZN5doris14TaskWorkerPool11submit_taskERKNS1_17TAgentTaskRequestEENK3$_0clIS5_EEDaOT_EUlvE_E9_M_invokeERKSt9_Any_data @ 0x590ad9337828 doris::Thread::supervise_thread() @ 0x740bd7c9caa4 (unknown) @ 0x740bd7d29c3c (unknown) @ (nil) (unknown) *** Query id: 0-0 *** *** is nereids: 0 *** *** tablet id: 0 *** *** Aborted at 1744083830 (unix time) try "date -d @1744083830" if you are using GNU date *** *** Current BE git commitID: 3640f6c *** *** SIGABRT unknown detail explain (@0x10417b) received by PID 1065339 (TID 1066024 OR 0x7408c42006c0) from PID 1065339; stack trace: *** @ 0x590ad936128b doris::ThreadPool::dispatch_thread() @ 0x590ad9337828 doris::Thread::supervise_thread() @ 0x740bd7c9caa4 (unknown) @ 0x740bd7d29c3c (unknown) @ (nil) (unknown) 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_master/doris/be/src/common/signal_handler.h:421 1# 0x0000740BD7C45330 in /lib/x86_64-linux-gnu/libc.so.6 2# pthread_kill in /lib/x86_64-linux-gnu/libc.so.6 3# gsignal in /lib/x86_64-linux-gnu/libc.so.6 4# abort in /lib/x86_64-linux-gnu/libc.so.6 5# 0x0000590B0F23F5FD in /root/wyx/doris/be/lib/doris_be 6# 0x0000590B0F231C3A in /root/wyx/doris/be/lib/doris_be 7# google::LogMessage::SendToLog() in /root/wyx/doris/be/lib/doris_be 8# google::LogMessage::Flush() in /root/wyx/doris/be/lib/doris_be 9# google::LogMessageFatal::~LogMessageFatal() in /root/wyx/doris/be/lib/doris_be 10# doris::IndexBuilder::handle_single_rowset(std::shared_ptr<doris::RowsetMeta>, std::vector<std::shared_ptr<doris::segment_v2::Segment>, std::allocator<std::shared_ptr<doris::segment_v2::Segment> > >&) at /home/zcp/repo_center/doris_master/doris/be/src/olap/task/index_builder.cpp:423 11# doris::IndexBuilder::handle_inverted_index_data() at /home/zcp/repo_center/doris_master/doris/be/src/olap/task/index_builder.cpp:711 12# doris::IndexBuilder::do_build_inverted_index() in /root/wyx/doris/be/lib/doris_be 13# doris::StorageEngine::_handle_index_change(std::shared_ptr<doris::IndexBuilder>) at /home/zcp/repo_center/doris_master/doris/be/src/olap/olap_server.cpp:1213 14# doris::StorageEngine::process_index_change_task(doris::TAlterInvertedIndexReq const&) at /home/zcp/repo_center/doris_master/doris/be/src/olap/olap_server.cpp:1207 15# doris::EngineIndexChangeTask::execute() in /root/wyx/doris/be/lib/doris_be 16# doris::alter_inverted_index_callback(doris::StorageEngine&, doris::TAgentTaskRequest const&) in /root/wyx/doris/be/lib/doris_be 17# std::_Function_handler<void (), doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest const&)::$_0::operator()<doris::TAgentTaskRequest const&>(doris::TAgentTaskRequest const&) const::{lambda()#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 18# doris::ThreadPool::dispatch_thread() in /root/wyx/doris/be/lib/doris_be 19# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_master/doris/be/src/util/thread.cpp:497 20# 0x0000740BD7C9CAA4 in /lib/x86_64-linux-gnu/libc.so.6 21# 0x0000740BD7D29C3C in /lib/x86_64-linux-gnu/libc.so.6 ```
Problem Summary: fix DCHECK error after multiple add/drop rename column when building inverted index ``` F20250408 11:43:45.886974 1066024 index_builder.cpp:423] Check failed: output_rowset_schema->has_inverted_index_with_index_id(index_id) *** Check failure stack trace: *** F20250408 11:43:45.886988 1066022 index_builder.cpp:423] Check failed: output_rowset_schema->has_inverted_index_with_index_id(index_id) *** Check failure stack trace: *** @ 0x590b0f234d26 google::LogMessage::SendToLog() @ 0x590b0f234d26 google::LogMessage::SendToLog() @ 0x590b0f231770 google::LogMessage::Flush() @ 0x590b0f231770 google::LogMessage::Flush() @ 0x590b0f235569 google::LogMessageFatal::~LogMessageFatal() @ 0x590b0f235569 google::LogMessageFatal::~LogMessageFatal() @ 0x590ad85d3459 doris::IndexBuilder::handle_single_rowset() @ 0x590ad85daf25 doris::IndexBuilder::handle_inverted_index_data() @ 0x590ad85d3459 doris::IndexBuilder::handle_single_rowset() @ 0x590ad85ddc31 doris::IndexBuilder::do_build_inverted_index() @ 0x590ad85daf25 doris::IndexBuilder::handle_inverted_index_data() @ 0x590ad711ad86 doris::StorageEngine::_handle_index_change() @ 0x590ad85ddc31 doris::IndexBuilder::do_build_inverted_index() @ 0x590ad711a1da doris::StorageEngine::process_index_change_task() @ 0x590ad711ad86 doris::StorageEngine::_handle_index_change() @ 0x590ad857b89d doris::EngineIndexChangeTask::execute() @ 0x590ad711a1da doris::StorageEngine::process_index_change_task() @ 0x590ad49deea2 doris::alter_inverted_index_callback() @ 0x590ad4a1de9d _ZNSt17_Function_handlerIFvvEZZN5doris14TaskWorkerPool11submit_taskERKNS1_17TAgentTaskRequestEENK3$_0clIS5_EEDaOT_EUlvE_E9_M_invokeERKSt9_Any_data @ 0x590ad857b89d doris::EngineIndexChangeTask::execute() @ 0x590ad936128b doris::ThreadPool::dispatch_thread() @ 0x590ad49deea2 doris::alter_inverted_index_callback() @ 0x590ad4a1de9d _ZNSt17_Function_handlerIFvvEZZN5doris14TaskWorkerPool11submit_taskERKNS1_17TAgentTaskRequestEENK3$_0clIS5_EEDaOT_EUlvE_E9_M_invokeERKSt9_Any_data @ 0x590ad9337828 doris::Thread::supervise_thread() @ 0x740bd7c9caa4 (unknown) @ 0x740bd7d29c3c (unknown) @ (nil) (unknown) *** Query id: 0-0 *** *** is nereids: 0 *** *** tablet id: 0 *** *** Aborted at 1744083830 (unix time) try "date -d @1744083830" if you are using GNU date *** *** Current BE git commitID: 3640f6c *** *** SIGABRT unknown detail explain (@0x10417b) received by PID 1065339 (TID 1066024 OR 0x7408c42006c0) from PID 1065339; stack trace: *** @ 0x590ad936128b doris::ThreadPool::dispatch_thread() @ 0x590ad9337828 doris::Thread::supervise_thread() @ 0x740bd7c9caa4 (unknown) @ 0x740bd7d29c3c (unknown) @ (nil) (unknown) 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_master/doris/be/src/common/signal_handler.h:421 1# 0x0000740BD7C45330 in /lib/x86_64-linux-gnu/libc.so.6 2# pthread_kill in /lib/x86_64-linux-gnu/libc.so.6 3# gsignal in /lib/x86_64-linux-gnu/libc.so.6 4# abort in /lib/x86_64-linux-gnu/libc.so.6 5# 0x0000590B0F23F5FD in /root/wyx/doris/be/lib/doris_be 6# 0x0000590B0F231C3A in /root/wyx/doris/be/lib/doris_be 7# google::LogMessage::SendToLog() in /root/wyx/doris/be/lib/doris_be 8# google::LogMessage::Flush() in /root/wyx/doris/be/lib/doris_be 9# google::LogMessageFatal::~LogMessageFatal() in /root/wyx/doris/be/lib/doris_be 10# doris::IndexBuilder::handle_single_rowset(std::shared_ptr<doris::RowsetMeta>, std::vector<std::shared_ptr<doris::segment_v2::Segment>, std::allocator<std::shared_ptr<doris::segment_v2::Segment> > >&) at /home/zcp/repo_center/doris_master/doris/be/src/olap/task/index_builder.cpp:423 11# doris::IndexBuilder::handle_inverted_index_data() at /home/zcp/repo_center/doris_master/doris/be/src/olap/task/index_builder.cpp:711 12# doris::IndexBuilder::do_build_inverted_index() in /root/wyx/doris/be/lib/doris_be 13# doris::StorageEngine::_handle_index_change(std::shared_ptr<doris::IndexBuilder>) at /home/zcp/repo_center/doris_master/doris/be/src/olap/olap_server.cpp:1213 14# doris::StorageEngine::process_index_change_task(doris::TAlterInvertedIndexReq const&) at /home/zcp/repo_center/doris_master/doris/be/src/olap/olap_server.cpp:1207 15# doris::EngineIndexChangeTask::execute() in /root/wyx/doris/be/lib/doris_be 16# doris::alter_inverted_index_callback(doris::StorageEngine&, doris::TAgentTaskRequest const&) in /root/wyx/doris/be/lib/doris_be 17# std::_Function_handler<void (), doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest const&)::$_0::operator()<doris::TAgentTaskRequest const&>(doris::TAgentTaskRequest const&) const::{lambda()#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 18# doris::ThreadPool::dispatch_thread() in /root/wyx/doris/be/lib/doris_be 19# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_master/doris/be/src/util/thread.cpp:497 20# 0x0000740BD7C9CAA4 in /lib/x86_64-linux-gnu/libc.so.6 21# 0x0000740BD7D29C3C in /lib/x86_64-linux-gnu/libc.so.6 ```
Problem Summary: fix DCHECK error after multiple add/drop rename column when building inverted index ``` F20250408 11:43:45.886974 1066024 index_builder.cpp:423] Check failed: output_rowset_schema->has_inverted_index_with_index_id(index_id) *** Check failure stack trace: *** F20250408 11:43:45.886988 1066022 index_builder.cpp:423] Check failed: output_rowset_schema->has_inverted_index_with_index_id(index_id) *** Check failure stack trace: *** @ 0x590b0f234d26 google::LogMessage::SendToLog() @ 0x590b0f234d26 google::LogMessage::SendToLog() @ 0x590b0f231770 google::LogMessage::Flush() @ 0x590b0f231770 google::LogMessage::Flush() @ 0x590b0f235569 google::LogMessageFatal::~LogMessageFatal() @ 0x590b0f235569 google::LogMessageFatal::~LogMessageFatal() @ 0x590ad85d3459 doris::IndexBuilder::handle_single_rowset() @ 0x590ad85daf25 doris::IndexBuilder::handle_inverted_index_data() @ 0x590ad85d3459 doris::IndexBuilder::handle_single_rowset() @ 0x590ad85ddc31 doris::IndexBuilder::do_build_inverted_index() @ 0x590ad85daf25 doris::IndexBuilder::handle_inverted_index_data() @ 0x590ad711ad86 doris::StorageEngine::_handle_index_change() @ 0x590ad85ddc31 doris::IndexBuilder::do_build_inverted_index() @ 0x590ad711a1da doris::StorageEngine::process_index_change_task() @ 0x590ad711ad86 doris::StorageEngine::_handle_index_change() @ 0x590ad857b89d doris::EngineIndexChangeTask::execute() @ 0x590ad711a1da doris::StorageEngine::process_index_change_task() @ 0x590ad49deea2 doris::alter_inverted_index_callback() @ 0x590ad4a1de9d _ZNSt17_Function_handlerIFvvEZZN5doris14TaskWorkerPool11submit_taskERKNS1_17TAgentTaskRequestEENK3$_0clIS5_EEDaOT_EUlvE_E9_M_invokeERKSt9_Any_data @ 0x590ad857b89d doris::EngineIndexChangeTask::execute() @ 0x590ad936128b doris::ThreadPool::dispatch_thread() @ 0x590ad49deea2 doris::alter_inverted_index_callback() @ 0x590ad4a1de9d _ZNSt17_Function_handlerIFvvEZZN5doris14TaskWorkerPool11submit_taskERKNS1_17TAgentTaskRequestEENK3$_0clIS5_EEDaOT_EUlvE_E9_M_invokeERKSt9_Any_data @ 0x590ad9337828 doris::Thread::supervise_thread() @ 0x740bd7c9caa4 (unknown) @ 0x740bd7d29c3c (unknown) @ (nil) (unknown) *** Query id: 0-0 *** *** is nereids: 0 *** *** tablet id: 0 *** *** Aborted at 1744083830 (unix time) try "date -d @1744083830" if you are using GNU date *** *** Current BE git commitID: 3640f6c *** *** SIGABRT unknown detail explain (@0x10417b) received by PID 1065339 (TID 1066024 OR 0x7408c42006c0) from PID 1065339; stack trace: *** @ 0x590ad936128b doris::ThreadPool::dispatch_thread() @ 0x590ad9337828 doris::Thread::supervise_thread() @ 0x740bd7c9caa4 (unknown) @ 0x740bd7d29c3c (unknown) @ (nil) (unknown) 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_master/doris/be/src/common/signal_handler.h:421 1# 0x0000740BD7C45330 in /lib/x86_64-linux-gnu/libc.so.6 2# pthread_kill in /lib/x86_64-linux-gnu/libc.so.6 3# gsignal in /lib/x86_64-linux-gnu/libc.so.6 4# abort in /lib/x86_64-linux-gnu/libc.so.6 5# 0x0000590B0F23F5FD in /root/wyx/doris/be/lib/doris_be 6# 0x0000590B0F231C3A in /root/wyx/doris/be/lib/doris_be 7# google::LogMessage::SendToLog() in /root/wyx/doris/be/lib/doris_be 8# google::LogMessage::Flush() in /root/wyx/doris/be/lib/doris_be 9# google::LogMessageFatal::~LogMessageFatal() in /root/wyx/doris/be/lib/doris_be 10# doris::IndexBuilder::handle_single_rowset(std::shared_ptr<doris::RowsetMeta>, std::vector<std::shared_ptr<doris::segment_v2::Segment>, std::allocator<std::shared_ptr<doris::segment_v2::Segment> > >&) at /home/zcp/repo_center/doris_master/doris/be/src/olap/task/index_builder.cpp:423 11# doris::IndexBuilder::handle_inverted_index_data() at /home/zcp/repo_center/doris_master/doris/be/src/olap/task/index_builder.cpp:711 12# doris::IndexBuilder::do_build_inverted_index() in /root/wyx/doris/be/lib/doris_be 13# doris::StorageEngine::_handle_index_change(std::shared_ptr<doris::IndexBuilder>) at /home/zcp/repo_center/doris_master/doris/be/src/olap/olap_server.cpp:1213 14# doris::StorageEngine::process_index_change_task(doris::TAlterInvertedIndexReq const&) at /home/zcp/repo_center/doris_master/doris/be/src/olap/olap_server.cpp:1207 15# doris::EngineIndexChangeTask::execute() in /root/wyx/doris/be/lib/doris_be 16# doris::alter_inverted_index_callback(doris::StorageEngine&, doris::TAgentTaskRequest const&) in /root/wyx/doris/be/lib/doris_be 17# std::_Function_handler<void (), doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest const&)::$_0::operator()<doris::TAgentTaskRequest const&>(doris::TAgentTaskRequest const&) const::{lambda()#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 18# doris::ThreadPool::dispatch_thread() in /root/wyx/doris/be/lib/doris_be 19# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_master/doris/be/src/util/thread.cpp:497 20# 0x0000740BD7C9CAA4 in /lib/x86_64-linux-gnu/libc.so.6 21# 0x0000740BD7D29C3C in /lib/x86_64-linux-gnu/libc.so.6 ```
Problem Summary: fix DCHECK error after multiple add/drop rename column when building inverted index ``` F20250408 11:43:45.886974 1066024 index_builder.cpp:423] Check failed: output_rowset_schema->has_inverted_index_with_index_id(index_id) *** Check failure stack trace: *** F20250408 11:43:45.886988 1066022 index_builder.cpp:423] Check failed: output_rowset_schema->has_inverted_index_with_index_id(index_id) *** Check failure stack trace: *** @ 0x590b0f234d26 google::LogMessage::SendToLog() @ 0x590b0f234d26 google::LogMessage::SendToLog() @ 0x590b0f231770 google::LogMessage::Flush() @ 0x590b0f231770 google::LogMessage::Flush() @ 0x590b0f235569 google::LogMessageFatal::~LogMessageFatal() @ 0x590b0f235569 google::LogMessageFatal::~LogMessageFatal() @ 0x590ad85d3459 doris::IndexBuilder::handle_single_rowset() @ 0x590ad85daf25 doris::IndexBuilder::handle_inverted_index_data() @ 0x590ad85d3459 doris::IndexBuilder::handle_single_rowset() @ 0x590ad85ddc31 doris::IndexBuilder::do_build_inverted_index() @ 0x590ad85daf25 doris::IndexBuilder::handle_inverted_index_data() @ 0x590ad711ad86 doris::StorageEngine::_handle_index_change() @ 0x590ad85ddc31 doris::IndexBuilder::do_build_inverted_index() @ 0x590ad711a1da doris::StorageEngine::process_index_change_task() @ 0x590ad711ad86 doris::StorageEngine::_handle_index_change() @ 0x590ad857b89d doris::EngineIndexChangeTask::execute() @ 0x590ad711a1da doris::StorageEngine::process_index_change_task() @ 0x590ad49deea2 doris::alter_inverted_index_callback() @ 0x590ad4a1de9d _ZNSt17_Function_handlerIFvvEZZN5doris14TaskWorkerPool11submit_taskERKNS1_17TAgentTaskRequestEENK3$_0clIS5_EEDaOT_EUlvE_E9_M_invokeERKSt9_Any_data @ 0x590ad857b89d doris::EngineIndexChangeTask::execute() @ 0x590ad936128b doris::ThreadPool::dispatch_thread() @ 0x590ad49deea2 doris::alter_inverted_index_callback() @ 0x590ad4a1de9d _ZNSt17_Function_handlerIFvvEZZN5doris14TaskWorkerPool11submit_taskERKNS1_17TAgentTaskRequestEENK3$_0clIS5_EEDaOT_EUlvE_E9_M_invokeERKSt9_Any_data @ 0x590ad9337828 doris::Thread::supervise_thread() @ 0x740bd7c9caa4 (unknown) @ 0x740bd7d29c3c (unknown) @ (nil) (unknown) *** Query id: 0-0 *** *** is nereids: 0 *** *** tablet id: 0 *** *** Aborted at 1744083830 (unix time) try "date -d @1744083830" if you are using GNU date *** *** Current BE git commitID: 3640f6c *** *** SIGABRT unknown detail explain (@0x10417b) received by PID 1065339 (TID 1066024 OR 0x7408c42006c0) from PID 1065339; stack trace: *** @ 0x590ad936128b doris::ThreadPool::dispatch_thread() @ 0x590ad9337828 doris::Thread::supervise_thread() @ 0x740bd7c9caa4 (unknown) @ 0x740bd7d29c3c (unknown) @ (nil) (unknown) 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_master/doris/be/src/common/signal_handler.h:421 1# 0x0000740BD7C45330 in /lib/x86_64-linux-gnu/libc.so.6 2# pthread_kill in /lib/x86_64-linux-gnu/libc.so.6 3# gsignal in /lib/x86_64-linux-gnu/libc.so.6 4# abort in /lib/x86_64-linux-gnu/libc.so.6 5# 0x0000590B0F23F5FD in /root/wyx/doris/be/lib/doris_be 6# 0x0000590B0F231C3A in /root/wyx/doris/be/lib/doris_be 7# google::LogMessage::SendToLog() in /root/wyx/doris/be/lib/doris_be 8# google::LogMessage::Flush() in /root/wyx/doris/be/lib/doris_be 9# google::LogMessageFatal::~LogMessageFatal() in /root/wyx/doris/be/lib/doris_be 10# doris::IndexBuilder::handle_single_rowset(std::shared_ptr<doris::RowsetMeta>, std::vector<std::shared_ptr<doris::segment_v2::Segment>, std::allocator<std::shared_ptr<doris::segment_v2::Segment> > >&) at /home/zcp/repo_center/doris_master/doris/be/src/olap/task/index_builder.cpp:423 11# doris::IndexBuilder::handle_inverted_index_data() at /home/zcp/repo_center/doris_master/doris/be/src/olap/task/index_builder.cpp:711 12# doris::IndexBuilder::do_build_inverted_index() in /root/wyx/doris/be/lib/doris_be 13# doris::StorageEngine::_handle_index_change(std::shared_ptr<doris::IndexBuilder>) at /home/zcp/repo_center/doris_master/doris/be/src/olap/olap_server.cpp:1213 14# doris::StorageEngine::process_index_change_task(doris::TAlterInvertedIndexReq const&) at /home/zcp/repo_center/doris_master/doris/be/src/olap/olap_server.cpp:1207 15# doris::EngineIndexChangeTask::execute() in /root/wyx/doris/be/lib/doris_be 16# doris::alter_inverted_index_callback(doris::StorageEngine&, doris::TAgentTaskRequest const&) in /root/wyx/doris/be/lib/doris_be 17# std::_Function_handler<void (), doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest const&)::$_0::operator()<doris::TAgentTaskRequest const&>(doris::TAgentTaskRequest const&) const::{lambda()apache#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 18# doris::ThreadPool::dispatch_thread() in /root/wyx/doris/be/lib/doris_be 19# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_master/doris/be/src/util/thread.cpp:497 20# 0x0000740BD7C9CAA4 in /lib/x86_64-linux-gnu/libc.so.6 21# 0x0000740BD7D29C3C in /lib/x86_64-linux-gnu/libc.so.6 ```
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
fix DCHECK error after multiple add/drop rename column when building inverted index
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)