This is an automated email from the ASF dual-hosted git repository.

panxiaolei 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 09c2c7ef0d8 [Chore](debug) add global rf merger info to 
FragmentMgr::dump_pipeline_tasks (#56440)
09c2c7ef0d8 is described below

commit 09c2c7ef0d8872af7942c695b0d301c17ad552dc
Author: Pxl <[email protected]>
AuthorDate: Thu Sep 25 23:46:33 2025 +0800

    [Chore](debug) add global rf merger info to 
FragmentMgr::dump_pipeline_tasks (#56440)
    
    add global rf merger info to FragmentMgr::dump_pipeline_tasks
---
 be/src/runtime/fragment_mgr.cpp | 11 ++++++++++-
 be/src/util/uid_util.cpp        | 11 +++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/be/src/runtime/fragment_mgr.cpp b/be/src/runtime/fragment_mgr.cpp
index dc9c38ea084..edde9773ad2 100644
--- a/be/src/runtime/fragment_mgr.cpp
+++ b/be/src/runtime/fragment_mgr.cpp
@@ -793,16 +793,25 @@ std::string FragmentMgr::dump_pipeline_tasks(int64_t 
duration) {
                                     std::pair<TUniqueId, int>,
                                     
std::shared_ptr<pipeline::PipelineFragmentContext>>& map)
                                     -> Status {
+            std::set<TUniqueId> query_id_set;
             for (auto& it : map) {
                 auto elapsed = it.second->elapsed_time() / 1000000000;
                 if (elapsed < duration) {
                     // Only display tasks which has been running for more than 
{duration} seconds.
                     continue;
                 }
+                if (!query_id_set.contains(it.first.first)) {
+                    query_id_set.insert(it.first.first);
+                    fmt::format_to(
+                            debug_string_buffer, "QueryId: {}, 
global_runtime_filter_mgr: {}\n",
+                            print_id(it.first.first),
+                            
it.second->get_query_ctx()->runtime_filter_mgr()->debug_string());
+                }
+
                 auto timeout_second = it.second->timeout_second();
                 fmt::format_to(
                         debug_string_buffer,
-                        "No.{} (elapse_second={}s, query_timeout_second={}s, 
is_timeout={}) : {}\n",
+                        "No.{} (elapse_second={}s, query_timeout_second={}s, 
is_timeout={}): {}\n",
                         i, elapsed, timeout_second, it.second->is_timeout(now),
                         it.second->debug_string());
                 i++;
diff --git a/be/src/util/uid_util.cpp b/be/src/util/uid_util.cpp
index e5254fffae2..4c947e017b8 100644
--- a/be/src/util/uid_util.cpp
+++ b/be/src/util/uid_util.cpp
@@ -81,5 +81,16 @@ bool parse_id(const std::string& s, TUniqueId* id) {
     *colon = ':';
     return valid;
 }
+
+bool TUniqueId::operator<(const TUniqueId& rhs) const {
+    if (hi < rhs.hi) {
+        return true;
+    }
+    if (hi > rhs.hi) {
+        return false;
+    }
+    return lo < rhs.lo;
+}
+
 #include "common/compile_check_end.h"
 } // namespace doris


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to