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 02:04:19 UTC

[doris] branch branch-1.2-lts 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 branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-1.2-lts by this push:
     new 3f5f19fcbd [fix](memtracker) Fix VDataStreamRecvr runtime state null pointer (#15451)
3f5f19fcbd is described below

commit 3f5f19fcbd4f781b6d87f032fcb96aac01d5ddd2
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 | 7 +++----
 be/src/vec/runtime/vdata_stream_recvr.h   | 3 ++-
 3 files changed, 6 insertions(+), 6 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 a9c741969a..4c6c3a57bc 100644
--- a/be/src/vec/runtime/vdata_stream_recvr.cpp
+++ b/be/src/vec/runtime/vdata_stream_recvr.cpp
@@ -257,7 +257,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),
@@ -319,9 +320,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_CONSUME_MEM_TRACKER(_mem_tracker.get());
+    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 6d38ecb955..22a615ebf1 100644
--- a/be/src/vec/runtime/vdata_stream_recvr.h
+++ b/be/src/vec/runtime/vdata_stream_recvr.h
@@ -99,7 +99,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