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 <myime...@gmail.com> 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: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org