uchenily commented on PR #61240:
URL: https://github.com/apache/doris/pull/61240#issuecomment-4066242731
It can be reproduced by injecting an `IO_ERROR` and triggering the
`DataDir::health_check`. I made the following modifications in version 2.1:
```diff
diff --git a/be/src/agent/task_worker_pool.cpp
b/be/src/agent/task_worker_pool.cpp
index c36426b1954..b6af569687d 100644
--- a/be/src/agent/task_worker_pool.cpp
+++ b/be/src/agent/task_worker_pool.cpp
@@ -1387,6 +1387,13 @@ void create_tablet_callback(StorageEngine& engine,
const TAgentTaskRequest& req)
.error(status);
} else {
increase_report_version();
+ DBUG_EXECUTE_IF("create_tablet_callback.block", DBUG_BLOCK);
+ DBUG_EXECUTE_IF("create_tablet_callback.health_check", {
+ auto created_tablet =
engine.tablet_manager()->get_tablet(create_tablet_req.tablet_id);
+ if (created_tablet != nullptr) {
+ created_tablet->data_dir()->health_check();
+ }
+ });
// get path hash of the created tablet
TabletSharedPtr tablet;
{
diff --git a/be/src/olap/data_dir.cpp b/be/src/olap/data_dir.cpp
index 7cbc3543062..31ff9e733e2 100644
--- a/be/src/olap/data_dir.cpp
+++ b/be/src/olap/data_dir.cpp
@@ -63,6 +63,7 @@
#include "olap/txn_manager.h"
#include "olap/utils.h" // for check_dir_existed
#include "service/backend_options.h"
+#include "util/debug_points.h"
#include "util/doris_metrics.h"
#include "util/string_util.h"
#include "util/uid_util.h"
@@ -250,6 +251,9 @@ void DataDir::health_check() {
}
Status DataDir::_read_and_write_test_file() {
+ DBUG_EXECUTE_IF("_read_and_write_test_file.io_error", {
+ return Status::Error<IO_ERROR>("debug point injected io error");
+ });
auto test_file = fmt::format("{}/{}", _path, kTestFilePath);
return read_write_test_file(test_file);
}
```
1. enable block debug point
```bash
curl -XPOST localhost:8040/api/debug_point/add/create_tablet_callback.block
```
2. create a table
```sql
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
id BIGINT,
v1 STRING
)
DUPLICATE KEY(id)
DISTRIBUTED BY HASH(id) BUCKETS 1
PROPERTIES (
"replication_num" = "1"
);
```
3. raise IO_ERROR and trigger the DataDir::health_check
```bash
curl -XPOST
localhost:8040/api/debug_point/add/_read_and_write_test_file.io_error
curl -XPOST
localhost:8040/api/debug_point/add/create_tablet_callback.health_check
curl -XPOST
localhost:8040/api/debug_point/remove/create_tablet_callback.block
```
then, we will get the following error:
```text
RuntimeLogger W20260316 17:14:58.979130 85806 status.h:415] meet error
status: [IO_ERROR]debug point injected io error
0# doris::Status doris::Status::Error<34,
true>(std::basic_string_view<char, std::char_traits<char> >) at
/root/work/doris-2.1/be/src/common/status.h:414
1# doris::DataDir::_read_and_write_test_file() at
/root/work/doris-2.1/be/src/olap/data_dir.cpp:254
2# doris::DataDir::health_check() at
/root/work/doris-2.1/be/src/olap/data_dir.cpp:242
3# doris::create_tablet_callback(doris::StorageEngine&,
doris::TAgentTaskRequest const&) at
/root/work/doris-2.1/be/src/agent/task_worker_pool.cpp:1391
4# auto
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const at
/root/work/doris-2.1/be/src/agent/agent_server.cpp:123
5# void std::__invoke_impl<void,
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest const&>(std::__invoke_other,
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
6# std::enable_if<is_invocable_r_v<void,
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest const&>, void>::type std::__invoke_r<void,
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest
const&>(doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
7# std::_Function_handler<void (doris::TAgentTaskRequest const&),
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10>::_M_invoke(std::_Any_data
const&, doris::TAgentTaskRequest const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
8# std::function<void (doris::TAgentTaskRequest
const&)>::operator()(doris::TAgentTaskRequest const&) const at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
9# doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const::{lambda()#1}::operator()()
const at /root/work/doris-2.1/be/src/agent/task_worker_pool.cpp:444
10# void std::__invoke_impl<void,
doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&)
const::{lambda()#1}&>(std::__invoke_other,
doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const::{lambda()#1}&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
11# std::enable_if<is_invocable_r_v<void,
doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const::{lambda()#1}&>, void>::type
std::__invoke_r<void,
doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&)
const::{lambda()#1}&>(doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const::{lambda()#1}&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
12# 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
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
13# std::function<void ()>::operator()() const at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
14# doris::FunctionRunnable::run() at
/root/work/doris-2.1/be/src/util/threadpool.cpp:48
15# doris::ThreadPool::dispatch_thread() at
/root/work/doris-2.1/be/src/util/threadpool.cpp:544
16# void std::__invoke_impl<void, void (doris::ThreadPool::*&)(),
doris::ThreadPool*&>(std::__invoke_memfun_deref, void
(doris::ThreadPool::*&)(), doris::ThreadPool*&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:76
17# std::__invoke_result<void (doris::ThreadPool::*&)(),
doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(),
doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:98
18# void std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, ,
0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/functional:515
19# void std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/functional:600
20# void std::__invoke_impl<void, std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other,
std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
21# std::enable_if<is_invocable_r_v<void, std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>&>, void>::type
std::__invoke_r<void, std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
22# std::_Function_handler<void (), std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data
const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
23# std::function<void ()>::operator()() const at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
24# doris::Thread::supervise_thread(void*) at
/root/work/doris-2.1/be/src/util/thread.cpp:498
25# ?
26# ?
RuntimeLogger W20260316 17:14:58.979444 85806 data_dir.cpp:244] store
read/write test file occur IO Error. path=/root/work/doris-2.1/storage, err:
[IO_ERROR]debug point injected io error
0# doris::Status doris::Status::Error<34,
true>(std::basic_string_view<char, std::char_traits<char> >) at
/root/work/doris-2.1/be/src/common/status.h:414
1# doris::DataDir::_read_and_write_test_file() at
/root/work/doris-2.1/be/src/olap/data_dir.cpp:254
2# doris::DataDir::health_check() at
/root/work/doris-2.1/be/src/olap/data_dir.cpp:242
3# doris::create_tablet_callback(doris::StorageEngine&,
doris::TAgentTaskRequest const&) at
/root/work/doris-2.1/be/src/agent/task_worker_pool.cpp:1391
4# auto
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const at
/root/work/doris-2.1/be/src/agent/agent_server.cpp:123
5# void std::__invoke_impl<void,
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest const&>(std::__invoke_other,
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
6# std::enable_if<is_invocable_r_v<void,
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest const&>, void>::type std::__invoke_r<void,
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest
const&>(doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
7# std::_Function_handler<void (doris::TAgentTaskRequest const&),
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10>::_M_invoke(std::_Any_data
const&, doris::TAgentTaskRequest const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
8# std::function<void (doris::TAgentTaskRequest
const&)>::operator()(doris::TAgentTaskRequest const&) const at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
9# doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const::{lambda()#1}::operator()()
const at /root/work/doris-2.1/be/src/agent/task_worker_pool.cpp:444
10# void std::__invoke_impl<void,
doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&)
const::{lambda()#1}&>(std::__invoke_other,
doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const::{lambda()#1}&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
11# std::enable_if<is_invocable_r_v<void,
doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const::{lambda()#1}&>, void>::type
std::__invoke_r<void,
doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&)
const::{lambda()#1}&>(doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const::{lambda()#1}&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
12# 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
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
13# std::function<void ()>::operator()() const at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
14# doris::FunctionRunnable::run() at
/root/work/doris-2.1/be/src/util/threadpool.cpp:48
15# doris::ThreadPool::dispatch_thread() at
/root/work/doris-2.1/be/src/util/threadpool.cpp:544
16# void std::__invoke_impl<void, void (doris::ThreadPool::*&)(),
doris::ThreadPool*&>(std::__invoke_memfun_deref, void
(doris::ThreadPool::*&)(), doris::ThreadPool*&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:76
17# std::__invoke_result<void (doris::ThreadPool::*&)(),
doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(),
doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:98
18# void std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, ,
0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/functional:515
19# void std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/functional:600
20# void std::__invoke_impl<void, std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other,
std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
21# std::enable_if<is_invocable_r_v<void, std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>&>, void>::type
std::__invoke_r<void, std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
22# std::_Function_handler<void (), std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data
const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
23# std::function<void ()>::operator()() const at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
24# doris::Thread::supervise_thread(void*) at
/root/work/doris-2.1/be/src/util/thread.cpp:498
25# ?
26# ?
RuntimeLogger I20260316 17:14:59.001428 85806 storage_engine.cpp:1518]
persist broken_storae_path /root/work/doris-2.1/storage;[OK]
RuntimeLogger W20260316 17:14:59.001538 85806 tablet_manager.cpp:653] tablet
cannot be used. tablet=21084
RuntimeLogger F20260316 17:14:59.001605 85806 task_worker_pool.cpp:1403]
Check failed: tablet != nullptr
*** Check failure stack trace: ***
@ 0x5ad4937d5766 google::LogMessage::SendToLog()
RuntimeLogger W20260316 17:14:59.025067 85694 status.h:415] meet error
status: [IO_ERROR]debug point injected io error
0# doris::Status doris::Status::Error<34,
true>(std::basic_string_view<char, std::char_traits<char> >) at
/root/work/doris-2.1/be/src/common/status.h:414
1# doris::DataDir::_read_and_write_test_file() at
/root/work/doris-2.1/be/src/olap/data_dir.cpp:254
2# doris::DataDir::health_check() at
/root/work/doris-2.1/be/src/olap/data_dir.cpp:242
3# doris::StorageEngine::_start_disk_stat_monitor() at
/root/work/doris-2.1/be/src/olap/storage_engine.cpp:394
4# doris::StorageEngine::_disk_stat_monitor_thread_callback() at
/root/work/doris-2.1/be/src/olap/olap_server.cpp:349
5#
doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2::operator()()
const at /root/work/doris-2.1/be/src/olap/olap_server.cpp:142
6# void std::__invoke_impl<void,
doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2&>(std::__invoke_other,
doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2&)
at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
7# std::enable_if<is_invocable_r_v<void,
doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2&>,
void>::type std::__invoke_r<void,
doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2&>(doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2&)
at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
8# std::_Function_handler<void (),
doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2>::_M_invoke(std::_Any_data
const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
9# std::function<void ()>::operator()() const at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
10# doris::Thread::supervise_thread(void*) at
/root/work/doris-2.1/be/src/util/thread.cpp:498
11# ?
12# ?
RuntimeLogger W20260316 17:14:59.025279 85694 data_dir.cpp:244] store
read/write test file occur IO Error. path=/root/work/doris-2.1/storage, err:
[IO_ERROR]debug point injected io error
0# doris::Status doris::Status::Error<34,
true>(std::basic_string_view<char, std::char_traits<char> >) at
/root/work/doris-2.1/be/src/common/status.h:414
1# doris::DataDir::_read_and_write_test_file() at
/root/work/doris-2.1/be/src/olap/data_dir.cpp:254
2# doris::DataDir::health_check() at
/root/work/doris-2.1/be/src/olap/data_dir.cpp:242
3# doris::StorageEngine::_start_disk_stat_monitor() at
/root/work/doris-2.1/be/src/olap/storage_engine.cpp:394
4# doris::StorageEngine::_disk_stat_monitor_thread_callback() at
/root/work/doris-2.1/be/src/olap/olap_server.cpp:349
5#
doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2::operator()()
const at /root/work/doris-2.1/be/src/olap/olap_server.cpp:142
6# void std::__invoke_impl<void,
doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2&>(std::__invoke_other,
doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2&)
at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
7# std::enable_if<is_invocable_r_v<void,
doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2&>,
void>::type std::__invoke_r<void,
doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2&>(doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2&)
at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
8# std::_Function_handler<void (),
doris::StorageEngine::start_bg_threads(std::shared_ptr<doris::WorkloadGroup>)::$_2>::_M_invoke(std::_Any_data
const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
9# std::function<void ()>::operator()() const at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
10# doris::Thread::supervise_thread(void*) at
/root/work/doris-2.1/be/src/util/thread.cpp:498
11# ?
12# ?
@ 0x5ad4937d21b0 google::LogMessage::Flush()
@ 0x5ad4937d5fa9 google::LogMessageFatal::~LogMessageFatal()
@ 0x5ad483f4d0e7 doris::create_tablet_callback()
@ 0x5ad4845c3b10
_ZZN5doris11AgentServer13start_workersEPNS_7ExecEnvEENK4$_10clIRKNS_17TAgentTaskRequestEEEDaOT_
@ 0x5ad4845c3add std::__invoke_impl<>()
@ 0x5ad4845c3a7d
_ZSt10__invoke_rIvRZN5doris11AgentServer13start_workersEPNS0_7ExecEnvEE4$_10JRKNS0_17TAgentTaskRequestEEENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESA_E4typeEOSB_DpOSC_
@ 0x5ad4845c39a5 std::_Function_handler<>::_M_invoke()
@ 0x5ad483f56bd6 std::function<>::operator()()
@ 0x5ad483f52a64
_ZZZN5doris14TaskWorkerPool11submit_taskERKNS_17TAgentTaskRequestEENK3$_0clIS3_EEDaOT_ENKUlvE_clEv
@ 0x5ad483f52a35
_ZSt13__invoke_implIvRZZN5doris14TaskWorkerPool11submit_taskERKNS0_17TAgentTaskRequestEENK3$_0clIS4_EEDaOT_EUlvE_JEES7_St14__invoke_otherOT0_DpOT1_
@ 0x5ad483f529f5
_ZSt10__invoke_rIvRZZN5doris14TaskWorkerPool11submit_taskERKNS0_17TAgentTaskRequestEENK3$_0clIS4_EEDaOT_EUlvE_JEENSt9enable_ifIX16is_invocable_r_vIS7_T0_DpT1_EES7_E4typeEOSC_DpOSD_
@ 0x5ad483f5287d
_ZNSt17_Function_handlerIFvvEZZN5doris14TaskWorkerPool11submit_taskERKNS1_17TAgentTaskRequestEENK3$_0clIS5_EEDaOT_EUlvE_E9_M_invokeERKSt9_Any_data
@ 0x5ad4830d271e std::function<>::operator()()
@ 0x5ad48476cab9 doris::FunctionRunnable::run()
@ 0x5ad484766544 doris::ThreadPool::dispatch_thread()
@ 0x5ad4847737f2 std::__invoke_impl<>()
@ 0x5ad48477373d std::__invoke<>()
@ 0x5ad48477370d
_ZNSt5_BindIFMN5doris10ThreadPoolEFvvEPS1_EE6__callIvJEJLm0EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE
@ 0x5ad4847736c6 std::_Bind<>::operator()<>()
@ 0x5ad484773695 std::__invoke_impl<>()
@ 0x5ad484773655
_ZSt10__invoke_rIvRSt5_BindIFMN5doris10ThreadPoolEFvvEPS2_EEJEENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESA_E4typeEOSB_DpOSC_
@ 0x5ad4847734bd std::_Function_handler<>::_M_invoke()
@ 0x5ad4830d271e std::function<>::operator()()
@ 0x5ad48475741a doris::Thread::supervise_thread()
@ 0x72379249caa4 (unknown)
@ 0x723792529c3c (unknown)
@ (nil) (unknown)
*** Query id: 0-0 ***
*** is nereids: 0 ***
*** tablet id: 0 ***
*** Aborted at 1773652499 (unix time) try "date -d @1773652499" if you are
using GNU date ***
*** Current BE git commitID: d9c5eaa58b6 ***
*** SIGABRT unknown detail explain (@0x14c3c) received by PID 85052 (TID
85806 OR 0x7235d67e46c0) from PID 85052; stack trace: ***
RuntimeLogger I20260316 17:15:00.240028 86983 daemon.cpp:221] os physical
memory 47.04 GB. process memory used 1.79 GB(= 1.89 GB[vm/rss] - 105.01
MB[tc/jemalloc_cache] + 0[reserved] + 0B[waiting_refresh]), limit 42.34 GB,
soft limit 38.10 GB. sys available memory 28.75 GB(= 28.75 GB[proc/available] -
0[reserved] - 0B[waiting_refresh]), low water mark 2.35 GB, warning water mark
4.70 GB.
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int,
siginfo_t*, void*) at /root/work/doris-2.1/be/src/common/signal_handler.h:421
1# 0x0000723792445330 in /lib/x86_64-linux-gnu/libc.so.6
2# pthread_kill at ./nptl/pthread_kill.c:89
3# gsignal at ../sysdeps/posix/raise.c:27
4# abort at ./stdlib/abort.c:81
5# 0x00005AD4937E032D in /root/work/doris-2.1/be/build/src/service/doris_be
6# 0x00005AD4937D267A in /root/work/doris-2.1/be/build/src/service/doris_be
7# google::LogMessage::SendToLog() in
/root/work/doris-2.1/be/build/src/service/doris_be
8# google::LogMessage::Flush() in
/root/work/doris-2.1/be/build/src/service/doris_be
9# google::LogMessageFatal::~LogMessageFatal() in
/root/work/doris-2.1/be/build/src/service/doris_be
10# doris::create_tablet_callback(doris::StorageEngine&,
doris::TAgentTaskRequest const&) in
/root/work/doris-2.1/be/build/src/service/doris_be
11# auto
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const at
/root/work/doris-2.1/be/src/agent/agent_server.cpp:123
12# void std::__invoke_impl<void,
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest const&>(std::__invoke_other,
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
13# std::enable_if<is_invocable_r_v<void,
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest const&>, void>::type std::__invoke_r<void,
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest
const&>(doris::AgentServer::start_workers(doris::ExecEnv*)::$_10&,
doris::TAgentTaskRequest const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
14# std::_Function_handler<void (doris::TAgentTaskRequest const&),
doris::AgentServer::start_workers(doris::ExecEnv*)::$_10>::_M_invoke(std::_Any_data
const&, doris::TAgentTaskRequest const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
15# std::function<void (doris::TAgentTaskRequest
const&)>::operator()(doris::TAgentTaskRequest const&) const at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
16# doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const::{lambda()#1}::operator()()
const at /root/work/doris-2.1/be/src/agent/task_worker_pool.cpp:444
17# void std::__invoke_impl<void,
doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&)
const::{lambda()#1}&>(std::__invoke_other,
doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const::{lambda()#1}&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
18# std::enable_if<is_invocable_r_v<void,
doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const::{lambda()#1}&>, void>::type
std::__invoke_r<void,
doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&)
const::{lambda()#1}&>(doris::TaskWorkerPool::submit_task(doris::TAgentTaskRequest
const&)::$_0::operator()<doris::TAgentTaskRequest
const&>(doris::TAgentTaskRequest const&) const::{lambda()#1}&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
19# 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
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
20# std::function<void ()>::operator()() const at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
21# doris::FunctionRunnable::run() at
/root/work/doris-2.1/be/src/util/threadpool.cpp:48
22# doris::ThreadPool::dispatch_thread() at
/root/work/doris-2.1/be/src/util/threadpool.cpp:544
23# void std::__invoke_impl<void, void (doris::ThreadPool::*&)(),
doris::ThreadPool*&>(std::__invoke_memfun_deref, void
(doris::ThreadPool::*&)(), doris::ThreadPool*&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:76
24# std::__invoke_result<void (doris::ThreadPool::*&)(),
doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(),
doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:98
25# void std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, ,
0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/functional:515
26# void std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/functional:600
27# void std::__invoke_impl<void, std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other,
std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
28# std::enable_if<is_invocable_r_v<void, std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>&>, void>::type
std::__invoke_r<void, std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()>&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
29# std::_Function_handler<void (), std::_Bind<void
(doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data
const&) at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
30# std::function<void ()>::operator()() const at
/opt/ldb_toolchain/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
31# doris::Thread::supervise_thread(void*) at
/root/work/doris-2.1/be/src/util/thread.cpp:498
32# start_thread at ./nptl/pthread_create.c:447
33# clone3 at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:80
```
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]