From 6a8e7b6eb06ebaadf1bf83a6550145c779c87143 Mon Sep 17 00:00:00 2001 From: Yi WU Date: Tue, 3 May 2022 17:33:12 +0800 Subject: [PATCH 1/2] remove explicit memtracker from scannode memory is tracked by implicit tracker via hook. --- be/src/exec/olap_scan_node.cpp | 1 - be/src/exec/olap_scan_node.h | 1 - be/src/vec/exec/volap_scan_node.cpp | 5 ----- 3 files changed, 7 deletions(-) diff --git a/be/src/exec/olap_scan_node.cpp b/be/src/exec/olap_scan_node.cpp index e17e26bcd92e59..a37cca6565ba6d 100644 --- a/be/src/exec/olap_scan_node.cpp +++ b/be/src/exec/olap_scan_node.cpp @@ -56,7 +56,6 @@ OlapScanNode::OlapScanNode(ObjectPool* pool, const TPlanNode& tnode, const Descr _transfer_done(false), _status(Status::OK()), _resource_info(nullptr), - _buffered_bytes(0), _eval_conjuncts_fn(nullptr), _runtime_filter_descs(tnode.runtime_filters) {} diff --git a/be/src/exec/olap_scan_node.h b/be/src/exec/olap_scan_node.h index 688c4517a3c78e..891ea4d36acb40 100644 --- a/be/src/exec/olap_scan_node.h +++ b/be/src/exec/olap_scan_node.h @@ -249,7 +249,6 @@ class OlapScanNode : public ScanNode { TResourceInfo* _resource_info; - int64_t _buffered_bytes; // Count the memory consumption of Rowset Reader and Tablet Reader in OlapScanner. std::shared_ptr _scanner_mem_tracker; EvalConjunctsFn _eval_conjuncts_fn; diff --git a/be/src/vec/exec/volap_scan_node.cpp b/be/src/vec/exec/volap_scan_node.cpp index 4dba1e7c287b5e..016dc8d5f1ff00 100644 --- a/be/src/vec/exec/volap_scan_node.cpp +++ b/be/src/vec/exec/volap_scan_node.cpp @@ -77,11 +77,8 @@ void VOlapScanNode::transfer_thread(RuntimeState* state) { for (int i = 0; i < pre_block_count; ++i) { auto block = new Block(_tuple_desc->slots(), _block_size); _free_blocks.emplace_back(block); - _buffered_bytes += block->allocated_bytes(); } - _block_mem_tracker->consume(_buffered_bytes); - // read from scanner while (LIKELY(status.ok())) { int assigned_thread_num = _start_scanner_thread_task(state, block_per_scanner); @@ -420,7 +417,6 @@ Status VOlapScanNode::close(RuntimeState* state) { std::for_each(_scan_blocks.begin(), _scan_blocks.end(), std::default_delete()); _scan_row_batches_bytes = 0; std::for_each(_free_blocks.begin(), _free_blocks.end(), std::default_delete()); - _block_mem_tracker->release(_buffered_bytes); // OlapScanNode terminate by exception // so that initiative close the Scanner @@ -547,7 +543,6 @@ Block* VOlapScanNode::_alloc_block(bool& get_free_block) { get_free_block = false; auto block = new Block(_tuple_desc->slots(), _block_size); - _buffered_bytes += block->allocated_bytes(); return block; } From 4567e2998d6982ac1cb93232ed05e05dbd7c4f7c Mon Sep 17 00:00:00 2001 From: Yi WU Date: Sun, 8 May 2022 11:59:54 +0000 Subject: [PATCH 2/2] remove block_mem_tracker from VOlapScanNode --- be/src/vec/exec/volap_scan_node.cpp | 1 - be/src/vec/exec/volap_scan_node.h | 2 -- 2 files changed, 3 deletions(-) diff --git a/be/src/vec/exec/volap_scan_node.cpp b/be/src/vec/exec/volap_scan_node.cpp index 016dc8d5f1ff00..97ded72e52bf98 100644 --- a/be/src/vec/exec/volap_scan_node.cpp +++ b/be/src/vec/exec/volap_scan_node.cpp @@ -317,7 +317,6 @@ Status VOlapScanNode::start_scan_thread(RuntimeState* state) { _transfer_done = true; return Status::OK(); } - _block_mem_tracker = MemTracker::create_virtual_tracker(-1, "VOlapScanNode:Block"); // ranges constructed from scan keys std::vector> cond_ranges; diff --git a/be/src/vec/exec/volap_scan_node.h b/be/src/vec/exec/volap_scan_node.h index 9557d5c1e7045f..831b0963b6ff16 100644 --- a/be/src/vec/exec/volap_scan_node.h +++ b/be/src/vec/exec/volap_scan_node.h @@ -64,8 +64,6 @@ class VOlapScanNode final : public OlapScanNode { std::list _volap_scanners; std::mutex _volap_scanners_lock; - std::shared_ptr _block_mem_tracker; - int _max_materialized_blocks; size_t _block_size = 0;