[enhancement] Refactor to improve the usability of MemTracker (step2) (#10823)
This commit is contained in:
@ -60,10 +60,9 @@ Status TopNNode::init(const TPlanNode& tnode, RuntimeState* state) {
|
||||
Status TopNNode::prepare(RuntimeState* state) {
|
||||
SCOPED_TIMER(_runtime_profile->total_time_counter());
|
||||
RETURN_IF_ERROR(ExecNode::prepare(state));
|
||||
SCOPED_SWITCH_TASK_THREAD_LOCAL_MEM_TRACKER(mem_tracker());
|
||||
_tuple_pool.reset(new MemPool(mem_tracker().get()));
|
||||
RETURN_IF_ERROR(_sort_exec_exprs.prepare(state, child(0)->row_desc(), _row_descriptor,
|
||||
expr_mem_tracker()));
|
||||
SCOPED_CONSUME_MEM_TRACKER(mem_tracker());
|
||||
_tuple_pool.reset(new MemPool(mem_tracker()));
|
||||
RETURN_IF_ERROR(_sort_exec_exprs.prepare(state, child(0)->row_desc(), _row_descriptor));
|
||||
// AddExprCtxsToFree(_sort_exec_exprs);
|
||||
|
||||
_tuple_row_less_than.reset(
|
||||
@ -77,8 +76,8 @@ Status TopNNode::prepare(RuntimeState* state) {
|
||||
|
||||
Status TopNNode::open(RuntimeState* state) {
|
||||
SCOPED_TIMER(_runtime_profile->total_time_counter());
|
||||
SCOPED_SWITCH_TASK_THREAD_LOCAL_MEM_TRACKER(mem_tracker());
|
||||
RETURN_IF_ERROR(ExecNode::open(state));
|
||||
SCOPED_CONSUME_MEM_TRACKER(mem_tracker());
|
||||
RETURN_IF_CANCELLED(state);
|
||||
RETURN_IF_ERROR(state->check_query_state("Top n, before open."));
|
||||
RETURN_IF_ERROR(_sort_exec_exprs.open(state));
|
||||
@ -130,7 +129,7 @@ Status TopNNode::open(RuntimeState* state) {
|
||||
|
||||
Status TopNNode::get_next(RuntimeState* state, RowBatch* row_batch, bool* eos) {
|
||||
SCOPED_TIMER(_runtime_profile->total_time_counter());
|
||||
SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
|
||||
SCOPED_CONSUME_MEM_TRACKER(mem_tracker());
|
||||
RETURN_IF_CANCELLED(state);
|
||||
RETURN_IF_ERROR(state->check_query_state("Top n, before moving result to row_batch."));
|
||||
|
||||
@ -233,7 +232,7 @@ void TopNNode::push_down_predicate(RuntimeState* state, std::list<ExprContext*>*
|
||||
if ((*iter)->root()->is_bound(&_tuple_ids)) {
|
||||
// LOG(INFO) << "push down success expr is " << (*iter)->debug_string();
|
||||
// (*iter)->get_child(0)->prepare(state, row_desc());
|
||||
(*iter)->prepare(state, row_desc(), _expr_mem_tracker);
|
||||
(*iter)->prepare(state, row_desc());
|
||||
(*iter)->open(state);
|
||||
_conjunct_ctxs.push_back(*iter);
|
||||
iter = expr_ctxs->erase(iter);
|
||||
|
||||
Reference in New Issue
Block a user