This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 7cf49529e3e [improve](stack_trace) avoid print stack trace in group
commit (#30399)
7cf49529e3e is described below
commit 7cf49529e3e4f5f5a8b4962e6c12953463911062
Author: meiyi <[email protected]>
AuthorDate: Fri Jan 26 14:37:55 2024 +0800
[improve](stack_trace) avoid print stack trace in group commit (#30399)
---
be/src/olap/wal/wal_dirs_info.cpp | 16 ++++++++++------
be/src/olap/wal/wal_table.cpp | 6 +++---
be/src/runtime/group_commit_mgr.cpp | 27 ++++++++++++++-------------
3 files changed, 27 insertions(+), 22 deletions(-)
diff --git a/be/src/olap/wal/wal_dirs_info.cpp
b/be/src/olap/wal/wal_dirs_info.cpp
index d6198fe23a9..e451146106c 100644
--- a/be/src/olap/wal/wal_dirs_info.cpp
+++ b/be/src/olap/wal/wal_dirs_info.cpp
@@ -112,7 +112,7 @@ Status WalDirsInfo::add(const std::string& wal_dir, size_t
limit, size_t used,
#ifdef BE_TEST
return Status::OK();
#endif
- return Status::InternalError("wal dir {} exists!", wal_dir);
+ return Status::InternalError<false>("wal dir {} exists!", wal_dir);
}
}
std::unique_lock wlock(_lock);
@@ -162,7 +162,8 @@ Status WalDirsInfo::update_wal_dir_limit(const std::string&
wal_dir, size_t limi
return wal_dir_info->update_wal_dir_limit(limit);
}
}
- return Status::InternalError("Can not find wal dir in wal disks info.");
+ return Status::InternalError<false>("Can not find wal dir {} when update
wal dir limit",
+ wal_dir);
}
Status WalDirsInfo::update_all_wal_dir_limit() {
@@ -178,7 +179,8 @@ Status WalDirsInfo::update_wal_dir_used(const std::string&
wal_dir, size_t used)
return wal_dir_info->update_wal_dir_used(used);
}
}
- return Status::InternalError("Can not find wal dir in wal disks info.");
+ return Status::InternalError<false>("Can not find wal dir {} when update
wal dir used",
+ wal_dir);
}
Status WalDirsInfo::update_all_wal_dir_used() {
@@ -198,7 +200,8 @@ Status WalDirsInfo::update_wal_dir_pre_allocated(const
std::string& wal_dir,
return Status::OK();
}
}
- return Status::InternalError("Can not find wal dir in wal disks info.");
+ return Status::InternalError<false>("Can not find wal dir {} when update
wal dir pre allocated",
+ wal_dir);
}
Status WalDirsInfo::get_wal_dir_available_size(const std::string& wal_dir,
@@ -210,7 +213,8 @@ Status WalDirsInfo::get_wal_dir_available_size(const
std::string& wal_dir,
return Status::OK();
}
}
- return Status::InternalError("can not find wal dir!");
+ return Status::InternalError<false>("Can not find wal dir {} when get wal
dir available size",
+ wal_dir);
}
Status WalDirsInfo::get_wal_dir_info(const std::string& wal_dir,
@@ -222,7 +226,7 @@ Status WalDirsInfo::get_wal_dir_info(const std::string&
wal_dir,
wal_dir_info = *it;
} else {
wal_dir_info = nullptr;
- return Status::InternalError("can not find wal dir info!");
+ return Status::InternalError<false>("Can not find wal dir {}",
wal_dir);
}
return Status::OK();
}
diff --git a/be/src/olap/wal/wal_table.cpp b/be/src/olap/wal/wal_table.cpp
index 8a68f15d724..e64cf00911f 100644
--- a/be/src/olap/wal/wal_table.cpp
+++ b/be/src/olap/wal/wal_table.cpp
@@ -183,7 +183,7 @@ Status WalTable::_try_abort_txn(int64_t db_id, std::string&
label) {
client->loadTxnRollback(result, request);
},
10000L);
- auto result_status = Status::create(result.status);
+ auto result_status = Status::create<false>(result.status);
LOG(INFO) << "abort label " << label << ", st:" << st << ",
result_status:" << result_status;
return result_status;
}
@@ -328,14 +328,14 @@ Status WalTable::_get_column_info(int64_t db_id, int64_t
tb_id,
Status status;
TNetworkAddress master_addr = _exec_env->master_info()->network_address;
if (master_addr.hostname.empty() || master_addr.port == 0) {
- status = Status::InternalError("Have not get FE Master heartbeat yet");
+ status = Status::InternalError<false>("Have not get FE Master
heartbeat yet");
} else {
RETURN_IF_ERROR(ThriftRpcHelper::rpc<FrontendServiceClient>(
master_addr.hostname, master_addr.port,
[&request, &result](FrontendServiceConnection& client) {
client->getColumnInfo(result, request);
}));
- status = Status::create(result.status);
+ status = Status::create<false>(result.status);
if (!status.ok()) {
return status;
}
diff --git a/be/src/runtime/group_commit_mgr.cpp
b/be/src/runtime/group_commit_mgr.cpp
index d057dd92b92..a41aef2acf2 100644
--- a/be/src/runtime/group_commit_mgr.cpp
+++ b/be/src/runtime/group_commit_mgr.cpp
@@ -48,14 +48,15 @@ Status LoadBlockQueue::add_block(RuntimeState*
runtime_state,
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(
std::chrono::steady_clock::now() - start);
if (duration.count() > LoadBlockQueue::MEM_BACK_PRESSURE_WAIT_TIMEOUT)
{
- return Status::TimedOut(
+ return Status::TimedOut<false>(
"Wal memory back pressure wait too much time! Load block
queue txn id: {}, "
- "label: {}, instance id: {}",
- txn_id, label, load_instance_id.to_string());
+ "label: {}, instance id: {}, consumed memory: {}",
+ txn_id, label, load_instance_id.to_string(),
+ _all_block_queues_bytes->load(std::memory_order_relaxed));
}
}
if (UNLIKELY(runtime_state->is_cancelled())) {
- return Status::Cancelled(runtime_state->cancel_reason());
+ return Status::Cancelled<false>(runtime_state->cancel_reason());
}
RETURN_IF_ERROR(status);
if (block->rows() > 0) {
@@ -126,7 +127,7 @@ Status LoadBlockQueue::get_block(RuntimeState*
runtime_state, vectorized::Block*
_get_cond.wait_for(l, std::chrono::milliseconds(left_milliseconds));
}
if (runtime_state->is_cancelled()) {
- auto st = Status::Cancelled(runtime_state->cancel_reason());
+ auto st = Status::Cancelled<false>(runtime_state->cancel_reason());
_cancel_without_lock(st);
return st;
}
@@ -157,8 +158,8 @@ void LoadBlockQueue::remove_load_id(const UniqueId&
load_id) {
Status LoadBlockQueue::add_load_id(const UniqueId& load_id) {
std::unique_lock l(mutex);
if (_need_commit) {
- return Status::InternalError("block queue is set need commit, id=" +
- load_instance_id.to_string());
+ return Status::InternalError<false>("block queue is set need commit,
id=" +
+ load_instance_id.to_string());
}
_load_ids.emplace(load_id);
return Status::OK();
@@ -204,7 +205,7 @@ Status GroupCommitTable::get_first_block_load_queue(
}
}
if (!is_schema_version_match) {
- return Status::DataQualityError("schema version not match");
+ return Status::DataQualityError<false>("schema version not
match");
}
if (!_need_plan_fragment) {
_need_plan_fragment = true;
@@ -220,14 +221,14 @@ Status GroupCommitTable::get_first_block_load_queue(
return Status::OK();
}
} else if (base_schema_version <
load_block_queue->schema_version) {
- return Status::DataQualityError("schema version not
match");
+ return Status::DataQualityError<false>("schema version not
match");
}
load_block_queue.reset();
}
}
}
- return Status::InternalError("can not get a block queue for table_id: " +
- std::to_string(_table_id));
+ return Status::InternalError<false>("can not get a block queue for
table_id: " +
+ std::to_string(_table_id));
}
Status GroupCommitTable::_create_group_commit_load(
@@ -272,7 +273,7 @@ Status GroupCommitTable::_create_group_commit_load(
},
10000L);
RETURN_IF_ERROR(st);
- st = Status::create(result.status);
+ st = Status::create<false>(result.status);
if (!st.ok()) {
LOG(WARNING) << "create group commit load error, st=" <<
st.to_string();
}
@@ -366,7 +367,7 @@ Status GroupCommitTable::_finish_group_commit_load(int64_t
db_id, int64_t table_
client->loadTxnRollback(result, request);
},
10000L);
- result_status = Status::create(result.status);
+ result_status = Status::create<false>(result.status);
}
std::shared_ptr<LoadBlockQueue> load_block_queue;
{
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]