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

Reply via email to