You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2022/12/29 01:36:08 UTC

[doris] branch master updated: [fix](memtracker) Fix VDataStreamRecvr runtime state null pointer (#15451)

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 ad3b5cbf94 [fix](memtracker) Fix VDataStreamRecvr runtime state null pointer (#15451)
ad3b5cbf94 is described below

commit ad3b5cbf9449677233371524e395f92c3079338a
Author: Xinyi Zou <zo...@gmail.com>
AuthorDate: Thu Dec 29 09:36:03 2022 +0800

    [fix](memtracker) Fix VDataStreamRecvr runtime state null pointer (#15451)
---
 be/src/util/mem_info.cpp                  | 2 +-
 be/src/vec/runtime/vdata_stream_recvr.cpp | 6 +++---
 be/src/vec/runtime/vdata_stream_recvr.h   | 3 ++-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/be/src/util/mem_info.cpp b/be/src/util/mem_info.cpp
index 55500feea7..cccf77c060 100644
--- a/be/src/util/mem_info.cpp
+++ b/be/src/util/mem_info.cpp
@@ -106,7 +106,7 @@ void MemInfo::process_minor_gc() {
     StoragePageCache::instance()->prune(segment_v2::DATA_PAGE);
     if (config::enable_query_memroy_overcommit) {
         freed_mem +=
-                MemTrackerLimiter::free_top_overcommit_query(_s_process_full_gc_size - freed_mem);
+                MemTrackerLimiter::free_top_overcommit_query(_s_process_minor_gc_size - freed_mem);
     }
 }
 
diff --git a/be/src/vec/runtime/vdata_stream_recvr.cpp b/be/src/vec/runtime/vdata_stream_recvr.cpp
index 0195640ec3..831bf79c12 100644
--- a/be/src/vec/runtime/vdata_stream_recvr.cpp
+++ b/be/src/vec/runtime/vdata_stream_recvr.cpp
@@ -295,7 +295,8 @@ VDataStreamRecvr::VDataStreamRecvr(
         std::shared_ptr<QueryStatisticsRecvr> sub_plan_query_statistics_recvr)
         : _mgr(stream_mgr),
 #ifdef USE_MEM_TRACKER
-          _state(state),
+          _query_mem_tracker(state->query_mem_tracker()),
+          _query_id(state->query_id()),
 #endif
           _fragment_instance_id(fragment_instance_id),
           _dest_node_id(dest_node_id),
@@ -366,8 +367,7 @@ Status VDataStreamRecvr::create_merger(const std::vector<VExprContext*>& orderin
 
 void VDataStreamRecvr::add_block(const PBlock& pblock, int sender_id, int be_number,
                                  int64_t packet_seq, ::google::protobuf::Closure** done) {
-    SCOPED_ATTACH_TASK(_state->query_mem_tracker(), print_id(_state->query_id()),
-                       _fragment_instance_id);
+    SCOPED_ATTACH_TASK(_query_mem_tracker, print_id(_query_id), _fragment_instance_id);
     int use_sender_id = _is_merging ? sender_id : 0;
     _sender_queues[use_sender_id]->add_block(pblock, be_number, packet_seq, done);
 }
diff --git a/be/src/vec/runtime/vdata_stream_recvr.h b/be/src/vec/runtime/vdata_stream_recvr.h
index 13ab43810f..cddd21e6b0 100644
--- a/be/src/vec/runtime/vdata_stream_recvr.h
+++ b/be/src/vec/runtime/vdata_stream_recvr.h
@@ -104,7 +104,8 @@ private:
     VDataStreamMgr* _mgr;
 
 #ifdef USE_MEM_TRACKER
-    RuntimeState* _state;
+    std::shared_ptr<MemTrackerLimiter> _query_mem_tracker;
+    TUniqueId _query_id;
 #endif
 
     // Fragment and node id of the destination exchange node this receiver is used by.


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org