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 235ae9ded49 [improvement](fragment) optimize to get query context
logic (#25621)
235ae9ded49 is described below
commit 235ae9ded49fabe44d8ef66005a106ee319710d8
Author: HHoflittlefish777 <[email protected]>
AuthorDate: Wed Oct 25 14:03:47 2023 +0800
[improvement](fragment) optimize to get query context logic (#25621)
---
be/src/runtime/fragment_mgr.cpp | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/be/src/runtime/fragment_mgr.cpp b/be/src/runtime/fragment_mgr.cpp
index 2e413c6a443..1fb68049e6e 100644
--- a/be/src/runtime/fragment_mgr.cpp
+++ b/be/src/runtime/fragment_mgr.cpp
@@ -584,6 +584,17 @@ Status FragmentMgr::_get_query_ctx(const Params& params,
TUniqueId query_id, boo
}
query_ctx = search->second;
} else {
+ {
+ // Find _query_ctx_map, in case some other request has already
+ // create the query fragments context.
+ std::lock_guard<std::mutex> lock(_lock);
+ auto search = _query_ctx_map.find(query_id);
+ if (search != _query_ctx_map.end()) {
+ query_ctx = search->second;
+ return Status::OK();
+ }
+ }
+
// This may be a first fragment request of the query.
// Create the query fragments context.
query_ctx = QueryContext::create_shared(query_id,
params.fragment_num_on_host, _exec_env,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]