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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]