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/06/29 12:37:58 UTC

[doris] branch master updated: [refactor] Remove debug action since it is never used. (#10484)

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 4ec6e3ee81 [refactor] Remove debug action since it is never used. (#10484)
4ec6e3ee81 is described below

commit 4ec6e3ee816692628c48429f238dc0389747e047
Author: yiguolei <67...@qq.com>
AuthorDate: Wed Jun 29 20:37:51 2022 +0800

    [refactor] Remove debug action since it is never used. (#10484)
    
    
    
    Co-authored-by: yiguolei <yi...@gmail.com>
---
 be/src/exec/analytic_eval_node.cpp                 |  1 -
 be/src/exec/assert_num_rows_node.cpp               |  1 -
 be/src/exec/broker_scan_node.cpp                   |  2 -
 be/src/exec/cross_join_node.cpp                    |  1 -
 be/src/exec/csv_scan_node.cpp                      |  3 --
 be/src/exec/es_http_scan_node.cpp                  |  2 -
 be/src/exec/except_node.cpp                        |  1 -
 be/src/exec/exchange_node.cpp                      |  1 -
 be/src/exec/exec_node.cpp                          | 56 ----------------------
 be/src/exec/exec_node.h                            | 18 -------
 be/src/exec/hash_join_node.cpp                     |  3 --
 be/src/exec/intersect_node.cpp                     |  1 -
 be/src/exec/merge_node.cpp                         |  1 -
 be/src/exec/mysql_scan_node.cpp                    |  3 --
 be/src/exec/odbc_scan_node.cpp                     |  3 --
 be/src/exec/olap_scan_node.cpp                     |  3 --
 be/src/exec/partitioned_aggregation_node.cc        |  1 -
 be/src/exec/schema_scan_node.cpp                   |  2 -
 be/src/exec/select_node.cpp                        |  2 -
 be/src/exec/set_operation_node.cpp                 |  2 -
 be/src/exec/spill_sort_node.cc                     |  2 -
 be/src/exec/table_function_node.cpp                |  2 -
 be/src/exec/topn_node.cpp                          |  1 -
 be/src/exec/union_node.cpp                         |  3 --
 be/src/runtime/plan_fragment_executor.cpp          |  7 ---
 be/src/vec/exec/file_scan_node.cpp                 |  2 -
 be/src/vec/exec/join/vhash_join_node.cpp           |  1 -
 be/src/vec/exec/vanalytic_eval_node.cpp            |  1 -
 be/src/vec/exec/vassert_num_rows_node.cpp          |  1 -
 be/src/vec/exec/vbroker_scan_node.cpp              |  2 -
 be/src/vec/exec/ves_http_scan_node.cpp             |  2 -
 be/src/vec/exec/vmysql_scan_node.cpp               |  3 --
 be/src/vec/exec/vodbc_scan_node.cpp                |  4 --
 be/src/vec/exec/volap_scan_node.cpp                |  3 --
 be/src/vec/exec/vrepeat_node.cpp                   |  2 -
 be/src/vec/exec/vschema_scan_node.cpp              |  3 --
 be/src/vec/exec/vselect_node.cpp                   |  2 -
 .../vec/exec/vtable_valued_function_scannode.cpp   |  4 --
 be/src/vec/exec/vunion_node.cpp                    |  1 -
 gensrc/thrift/PaloInternalService.thrift           |  8 ++--
 40 files changed, 4 insertions(+), 157 deletions(-)

diff --git a/be/src/exec/analytic_eval_node.cpp b/be/src/exec/analytic_eval_node.cpp
index 9b2c6803db..7a104a724e 100644
--- a/be/src/exec/analytic_eval_node.cpp
+++ b/be/src/exec/analytic_eval_node.cpp
@@ -817,7 +817,6 @@ inline int64_t AnalyticEvalNode::num_output_rows_ready() const {
 Status AnalyticEvalNode::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());
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     //RETURN_IF_ERROR(QueryMaintenance(state));
     RETURN_IF_ERROR(state->check_query_state("Analytic eval, while get_next."));
diff --git a/be/src/exec/assert_num_rows_node.cpp b/be/src/exec/assert_num_rows_node.cpp
index e101b245ea..c91d7ef085 100644
--- a/be/src/exec/assert_num_rows_node.cpp
+++ b/be/src/exec/assert_num_rows_node.cpp
@@ -57,7 +57,6 @@ Status AssertNumRowsNode::open(RuntimeState* state) {
 }
 
 Status AssertNumRowsNode::get_next(RuntimeState* state, RowBatch* output_batch, bool* eos) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
     output_batch->reset();
diff --git a/be/src/exec/broker_scan_node.cpp b/be/src/exec/broker_scan_node.cpp
index fb47d2b821..fce8757e65 100644
--- a/be/src/exec/broker_scan_node.cpp
+++ b/be/src/exec/broker_scan_node.cpp
@@ -93,7 +93,6 @@ Status BrokerScanNode::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));
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
 
     RETURN_IF_ERROR(start_scanners());
@@ -196,7 +195,6 @@ Status BrokerScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     _scan_finished.store(true);
     _queue_writer_cond.notify_all();
diff --git a/be/src/exec/cross_join_node.cpp b/be/src/exec/cross_join_node.cpp
index 38084768b8..8488ebfc49 100644
--- a/be/src/exec/cross_join_node.cpp
+++ b/be/src/exec/cross_join_node.cpp
@@ -82,7 +82,6 @@ void CrossJoinNode::init_get_next(TupleRow* first_left_row) {
 }
 
 Status CrossJoinNode::get_next(RuntimeState* state, RowBatch* output_batch, bool* eos) {
-    // RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT, state));
     RETURN_IF_CANCELLED(state);
     *eos = false;
     // TOOD(zhaochun)
diff --git a/be/src/exec/csv_scan_node.cpp b/be/src/exec/csv_scan_node.cpp
index 1b0e406c82..66169935d7 100644
--- a/be/src/exec/csv_scan_node.cpp
+++ b/be/src/exec/csv_scan_node.cpp
@@ -220,7 +220,6 @@ Status CsvScanNode::open(RuntimeState* state) {
 
     _runtime_state = state;
 
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
     RETURN_IF_ERROR(_csv_scanner->open());
 
@@ -237,7 +236,6 @@ Status CsvScanNode::get_next(RuntimeState* state, RowBatch* row_batch, bool* eos
         return Status::InternalError("used before initialize.");
     }
 
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
@@ -318,7 +316,6 @@ Status CsvScanNode::close(RuntimeState* state) {
         return Status::OK();
     }
     VLOG_CRITICAL << "CsvScanNode::Close";
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
 
     SCOPED_TIMER(_runtime_profile->total_time_counter());
 
diff --git a/be/src/exec/es_http_scan_node.cpp b/be/src/exec/es_http_scan_node.cpp
index ee762a68f4..f31059cb3b 100644
--- a/be/src/exec/es_http_scan_node.cpp
+++ b/be/src/exec/es_http_scan_node.cpp
@@ -125,7 +125,6 @@ Status EsHttpScanNode::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));
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
 
     // if conjunct is constant, compute direct and set eos = true
@@ -286,7 +285,6 @@ Status EsHttpScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     _scan_finished.store(true);
     _queue_writer_cond.notify_all();
diff --git a/be/src/exec/except_node.cpp b/be/src/exec/except_node.cpp
index 79ce14fa3d..03fc7b229f 100644
--- a/be/src/exec/except_node.cpp
+++ b/be/src/exec/except_node.cpp
@@ -85,7 +85,6 @@ Status ExceptNode::open(RuntimeState* state) {
 }
 
 Status ExceptNode::get_next(RuntimeState* state, RowBatch* out_batch, bool* eos) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
diff --git a/be/src/exec/exchange_node.cpp b/be/src/exec/exchange_node.cpp
index f1c221b65c..e510f7af28 100644
--- a/be/src/exec/exchange_node.cpp
+++ b/be/src/exec/exchange_node.cpp
@@ -133,7 +133,6 @@ Status ExchangeNode::fill_input_row_batch(RuntimeState* state) {
 }
 
 Status ExchangeNode::get_next(RuntimeState* state, RowBatch* output_batch, bool* eos) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
 
diff --git a/be/src/exec/exec_node.cpp b/be/src/exec/exec_node.cpp
index 54d2fdbea6..5da036505a 100644
--- a/be/src/exec/exec_node.cpp
+++ b/be/src/exec/exec_node.cpp
@@ -144,8 +144,6 @@ ExecNode::ExecNode(ObjectPool* pool, const TPlanNode& tnode, const DescriptorTbl
           _tuple_ids(tnode.row_tuples),
           _row_descriptor(descs, tnode.row_tuples, tnode.nullable_tuples),
           _resource_profile(tnode.resource_profile),
-          _debug_phase(TExecNodePhase::INVALID),
-          _debug_action(TDebugAction::WAIT),
           _limit(tnode.limit),
           _num_rows_returned(0),
           _rows_returned_counter(nullptr),
@@ -200,7 +198,6 @@ Status ExecNode::init(const TPlanNode& tnode, RuntimeState* state) {
 }
 
 Status ExecNode::prepare(RuntimeState* state) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::PREPARE));
     DCHECK(_runtime_profile.get() != nullptr);
     _rows_returned_counter = ADD_COUNTER(_runtime_profile, "RowsReturned", TUnit::UNIT);
     _rows_returned_rate = runtime_profile()->add_derived_counter(
@@ -231,7 +228,6 @@ Status ExecNode::prepare(RuntimeState* state) {
 
 Status ExecNode::open(RuntimeState* state) {
     SCOPED_SWITCH_TASK_THREAD_LOCAL_MEM_TRACKER(_mem_tracker);
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     if (_vconjunct_ctx_ptr) {
         RETURN_IF_ERROR((*_vconjunct_ctx_ptr)->open(state));
     }
@@ -259,7 +255,6 @@ Status ExecNode::close(RuntimeState* state) {
         return Status::OK();
     }
     _is_closed = true;
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
 
     if (_rows_returned_counter != nullptr) {
         COUNTER_SET(_rows_returned_counter, _num_rows_returned);
@@ -611,19 +606,6 @@ Status ExecNode::create_node(RuntimeState* state, ObjectPool* pool, const TPlanN
     return Status::OK();
 }
 
-void ExecNode::set_debug_options(int node_id, TExecNodePhase::type phase, TDebugAction::type action,
-                                 ExecNode* root) {
-    if (root->_id == node_id) {
-        root->_debug_phase = phase;
-        root->_debug_action = action;
-        return;
-    }
-
-    for (int i = 0; i < root->_children.size(); ++i) {
-        set_debug_options(node_id, phase, action, root->_children[i]);
-    }
-}
-
 std::string ExecNode::debug_string() const {
     std::stringstream out;
     this->debug_string(0, &out);
@@ -700,26 +682,6 @@ void ExecNode::init_runtime_profile(const std::string& name) {
     _runtime_profile->set_metadata(_id);
 }
 
-Status ExecNode::exec_debug_action(TExecNodePhase::type phase) {
-    DCHECK(phase != TExecNodePhase::INVALID);
-
-    if (_debug_phase != phase) {
-        return Status::OK();
-    }
-
-    if (_debug_action == TDebugAction::FAIL) {
-        return Status::InternalError("Debug Action: FAIL");
-    }
-
-    if (_debug_action == TDebugAction::WAIT) {
-        while (true) {
-            sleep(1);
-        }
-    }
-
-    return Status::OK();
-}
-
 Status ExecNode::claim_buffer_reservation(RuntimeState* state) {
     DCHECK(!_buffer_pool_client.is_registered());
     BufferPool* buffer_pool = ExecEnv::GetInstance()->buffer_pool();
@@ -772,24 +734,6 @@ void ExecNode::reached_limit(vectorized::Block* block, bool* eos) {
     COUNTER_SET(_rows_returned_counter, _num_rows_returned);
 }
 
-/*
-Status ExecNode::enable_deny_reservation_debug_action() {
-  DCHECK_EQ(debug_action_, TDebugAction::SET_DENY_RESERVATION_PROBABILITY);
-  DCHECK(_buffer_pool_client.is_registered());
-  // Parse [0.0, 1.0] probability.
-  StringParser::ParseResult parse_result;
-  double probability = StringParser::StringToFloat<double>(
-      debug_action_param_.c_str(), debug_action_param_.size(), &parse_result);
-  if (parse_result != StringParser::PARSE_SUCCESS || probability < 0.0
-      || probability > 1.0) {
-    return Status::InternalError(strings::Substitute(
-        "Invalid SET_DENY_RESERVATION_PROBABILITY param: '$0'", debug_action_param_));
-  }
-  _buffer_pool_client.SetDebugDenyIncreaseReservation(probability);
-  return Status::OK()();
-}
-*/
-
 Status ExecNode::QueryMaintenance(RuntimeState* state, const std::string& msg) {
     // TODO chenhao , when introduce latest AnalyticEvalNode open it
     // ScalarExprEvaluator::FreeLocalAllocations(evals_to_free_);
diff --git a/be/src/exec/exec_node.h b/be/src/exec/exec_node.h
index 35e495d158..fe3ab8b8e3 100644
--- a/be/src/exec/exec_node.h
+++ b/be/src/exec/exec_node.h
@@ -142,10 +142,6 @@ public:
     static Status create_tree(RuntimeState* state, ObjectPool* pool, const TPlan& plan,
                               const DescriptorTbl& descs, ExecNode** root);
 
-    // Set debug action for node with given id in 'tree'
-    static void set_debug_options(int node_id, TExecNodePhase::type phase,
-                                  TDebugAction::type action, ExecNode* tree);
-
     // Collect all nodes of given 'node_type' that are part of this subtree, and return in
     // 'nodes'.
     void collect_nodes(TPlanNodeType::type node_type, std::vector<ExecNode*>* nodes);
@@ -227,11 +223,6 @@ protected:
     // and add block rows for profile
     void reached_limit(vectorized::Block* block, bool* eos);
 
-    /// Enable the increase reservation denial probability on 'buffer_pool_client_' based on
-    /// the 'debug_action_' set on this node. Returns an error if 'debug_action_param_' is
-    /// invalid.
-    //Status enable_deny_reservation_debug_action();
-
     /// Extends blocking queue for row batches. Row batches have a property that
     /// they must be processed in the order they were produced, even in cancellation
     /// paths. Preceding row batches can contain ptrs to memory in subsequent row batches
@@ -291,11 +282,6 @@ protected:
     /// Resource information sent from the frontend.
     const TBackendResourceProfile _resource_profile;
 
-    // debug-only: if _debug_action is not INVALID, node will perform action in
-    // _debug_phase
-    TExecNodePhase::type _debug_phase;
-    TDebugAction::type _debug_action;
-
     int64_t _limit; // -1: no limit
     int64_t _num_rows_returned;
 
@@ -349,10 +335,6 @@ protected:
 
     void init_runtime_profile(const std::string& name);
 
-    // Executes _debug_action if phase matches _debug_phase.
-    // 'phase' must not be INVALID.
-    Status exec_debug_action(TExecNodePhase::type phase);
-
     // Appends option to '_runtime_exec_options'
     void add_runtime_exec_option(const std::string& option);
 
diff --git a/be/src/exec/hash_join_node.cpp b/be/src/exec/hash_join_node.cpp
index da822b9142..383007d112 100644
--- a/be/src/exec/hash_join_node.cpp
+++ b/be/src/exec/hash_join_node.cpp
@@ -160,7 +160,6 @@ Status HashJoinNode::close(RuntimeState* state) {
         return Status::OK();
     }
 
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     // Must reset _probe_batch in close() to release resources
     _probe_batch.reset(nullptr);
 
@@ -220,7 +219,6 @@ Status HashJoinNode::construct_hash_table(RuntimeState* state) {
 
 Status HashJoinNode::open(RuntimeState* state) {
     RETURN_IF_ERROR(ExecNode::open(state));
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_MEM_TRACKER(mem_tracker());
     RETURN_IF_CANCELLED(state);
@@ -302,7 +300,6 @@ Status HashJoinNode::open(RuntimeState* state) {
 }
 
 Status HashJoinNode::get_next(RuntimeState* state, RowBatch* out_batch, bool* eos) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     // In most cases, no additional memory overhead will be applied for at this stage,
     // but if the expression calculation in this node needs to apply for additional memory,
diff --git a/be/src/exec/intersect_node.cpp b/be/src/exec/intersect_node.cpp
index 3aac0adfd7..68fa46c288 100644
--- a/be/src/exec/intersect_node.cpp
+++ b/be/src/exec/intersect_node.cpp
@@ -84,7 +84,6 @@ Status IntersectNode::open(RuntimeState* state) {
 }
 
 Status IntersectNode::get_next(RuntimeState* state, RowBatch* out_batch, bool* eos) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
diff --git a/be/src/exec/merge_node.cpp b/be/src/exec/merge_node.cpp
index 5fe2259059..f57fa38686 100644
--- a/be/src/exec/merge_node.cpp
+++ b/be/src/exec/merge_node.cpp
@@ -110,7 +110,6 @@ Status MergeNode::open(RuntimeState* state) {
 }
 
 Status MergeNode::get_next(RuntimeState* state, RowBatch* row_batch, bool* eos) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
diff --git a/be/src/exec/mysql_scan_node.cpp b/be/src/exec/mysql_scan_node.cpp
index 641c10a582..3e161c1df9 100644
--- a/be/src/exec/mysql_scan_node.cpp
+++ b/be/src/exec/mysql_scan_node.cpp
@@ -113,7 +113,6 @@ Status MysqlScanNode::open(RuntimeState* state) {
         return Status::InternalError("used before initialize.");
     }
 
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
     RETURN_IF_ERROR(_mysql_scanner->open());
     RETURN_IF_ERROR(_mysql_scanner->query(_table_name, _columns, _filters, _limit));
@@ -158,7 +157,6 @@ Status MysqlScanNode::get_next(RuntimeState* state, RowBatch* row_batch, bool* e
         return Status::InternalError("used before initialize.");
     }
 
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
@@ -244,7 +242,6 @@ Status MysqlScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
 
     _tuple_pool.reset();
diff --git a/be/src/exec/odbc_scan_node.cpp b/be/src/exec/odbc_scan_node.cpp
index 8ea597b0f4..3d6f7f65e7 100644
--- a/be/src/exec/odbc_scan_node.cpp
+++ b/be/src/exec/odbc_scan_node.cpp
@@ -105,7 +105,6 @@ Status OdbcScanNode::open(RuntimeState* state) {
         return Status::InternalError("used before initialize.");
     }
 
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
     RETURN_IF_ERROR(_odbc_scanner->open());
     RETURN_IF_ERROR(_odbc_scanner->query());
@@ -138,7 +137,6 @@ Status OdbcScanNode::get_next(RuntimeState* state, RowBatch* row_batch, bool* eo
         return Status::InternalError("used before initialize.");
     }
 
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
@@ -234,7 +232,6 @@ Status OdbcScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
 
     _tuple_pool.reset();
diff --git a/be/src/exec/olap_scan_node.cpp b/be/src/exec/olap_scan_node.cpp
index f1d698ed7a..d21b795e1d 100644
--- a/be/src/exec/olap_scan_node.cpp
+++ b/be/src/exec/olap_scan_node.cpp
@@ -272,7 +272,6 @@ Status OlapScanNode::open(RuntimeState* state) {
 }
 
 Status OlapScanNode::get_next(RuntimeState* state, RowBatch* row_batch, bool* eos) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
 
@@ -389,8 +388,6 @@ Status OlapScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
-
     // change done status
     {
         std::unique_lock<std::mutex> l(_row_batches_lock);
diff --git a/be/src/exec/partitioned_aggregation_node.cc b/be/src/exec/partitioned_aggregation_node.cc
index 9bd0d7dd1e..083c9c8a4f 100644
--- a/be/src/exec/partitioned_aggregation_node.cc
+++ b/be/src/exec/partitioned_aggregation_node.cc
@@ -422,7 +422,6 @@ Status PartitionedAggregationNode::CopyStringData(const SlotDescriptor& slot_des
 Status PartitionedAggregationNode::GetNextInternal(RuntimeState* state, RowBatch* row_batch,
                                                    bool* eos) {
     SCOPED_TIMER(_runtime_profile->total_time_counter());
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     RETURN_IF_ERROR(state->check_query_state("New partitioned aggregation, while getting next."));
     // clear tmp expr result alocations
diff --git a/be/src/exec/schema_scan_node.cpp b/be/src/exec/schema_scan_node.cpp
index befb694a13..d2332f219f 100644
--- a/be/src/exec/schema_scan_node.cpp
+++ b/be/src/exec/schema_scan_node.cpp
@@ -194,7 +194,6 @@ Status SchemaScanNode::open(RuntimeState* state) {
 
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_MEM_TRACKER(mem_tracker());
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
     RETURN_IF_ERROR(ExecNode::open(state));
 
@@ -303,7 +302,6 @@ Status SchemaScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
 
     _tuple_pool.reset();
diff --git a/be/src/exec/select_node.cpp b/be/src/exec/select_node.cpp
index a0c8cebb84..e59557e8e7 100644
--- a/be/src/exec/select_node.cpp
+++ b/be/src/exec/select_node.cpp
@@ -42,14 +42,12 @@ Status SelectNode::prepare(RuntimeState* state) {
 
 Status SelectNode::open(RuntimeState* state) {
     SCOPED_SWITCH_TASK_THREAD_LOCAL_MEM_TRACKER(mem_tracker());
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_ERROR(ExecNode::open(state));
     RETURN_IF_ERROR(child(0)->open(state));
     return Status::OK();
 }
 
 Status SelectNode::get_next(RuntimeState* state, RowBatch* row_batch, bool* eos) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
diff --git a/be/src/exec/set_operation_node.cpp b/be/src/exec/set_operation_node.cpp
index b5ed4b0133..8126b380f4 100644
--- a/be/src/exec/set_operation_node.cpp
+++ b/be/src/exec/set_operation_node.cpp
@@ -75,7 +75,6 @@ Status SetOperationNode::close(RuntimeState* state) {
         Expr::close(exprs, state);
     }
 
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     // Must reset _probe_batch in close() to release resources
     _probe_batch.reset(nullptr);
 
@@ -136,7 +135,6 @@ bool SetOperationNode::equals(TupleRow* row, TupleRow* other) {
 
 Status SetOperationNode::open(RuntimeState* state) {
     RETURN_IF_ERROR(ExecNode::open(state));
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_MEM_TRACKER(mem_tracker());
     SCOPED_SWITCH_THREAD_LOCAL_MEM_TRACKER_ERR_CB(
diff --git a/be/src/exec/spill_sort_node.cc b/be/src/exec/spill_sort_node.cc
index 32f1217e5b..9c839598d8 100644
--- a/be/src/exec/spill_sort_node.cc
+++ b/be/src/exec/spill_sort_node.cc
@@ -83,8 +83,6 @@ Status SpillSortNode::open(RuntimeState* state) {
 Status SpillSortNode::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());
-    // RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT, state));
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     RETURN_IF_ERROR(state->check_query_state("Spill sort, while getting next."));
 
diff --git a/be/src/exec/table_function_node.cpp b/be/src/exec/table_function_node.cpp
index 311ef9007c..e95914bd22 100644
--- a/be/src/exec/table_function_node.cpp
+++ b/be/src/exec/table_function_node.cpp
@@ -196,7 +196,6 @@ bool TableFunctionNode::_roll_table_functions(int last_eos_idx) {
 // The outer loop is to get the next batch from child node.
 // And the inner loop is to expand the row by table functions, and output row by row.
 Status TableFunctionNode::get_next(RuntimeState* state, RowBatch* row_batch, bool* eos) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
 
@@ -375,7 +374,6 @@ Status TableFunctionNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     Expr::close(_fn_ctxs, state);
     vectorized::VExpr::close(_vfn_ctxs, state);
 
diff --git a/be/src/exec/topn_node.cpp b/be/src/exec/topn_node.cpp
index e9494ec102..4ce44e4ce4 100644
--- a/be/src/exec/topn_node.cpp
+++ b/be/src/exec/topn_node.cpp
@@ -131,7 +131,6 @@ 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());
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     RETURN_IF_ERROR(state->check_query_state("Top n, before moving result to row_batch."));
 
diff --git a/be/src/exec/union_node.cpp b/be/src/exec/union_node.cpp
index 2de9ff0fd3..75efcaa1f1 100644
--- a/be/src/exec/union_node.cpp
+++ b/be/src/exec/union_node.cpp
@@ -236,10 +236,7 @@ Status UnionNode::get_next_const(RuntimeState* state, RowBatch* row_batch) {
 Status UnionNode::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());
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
-    // TODO(zc)
-    // RETURN_IF_ERROR(QueryMaintenance(state));
 
     if (_to_close_child_idx != -1) {
         // The previous child needs to be closed if passthrough was enabled for it. In the non
diff --git a/be/src/runtime/plan_fragment_executor.cpp b/be/src/runtime/plan_fragment_executor.cpp
index 2745215bfb..908dba4057 100644
--- a/be/src/runtime/plan_fragment_executor.cpp
+++ b/be/src/runtime/plan_fragment_executor.cpp
@@ -129,13 +129,6 @@ Status PlanFragmentExecutor::prepare(const TExecPlanFragmentParams& request,
                                           *desc_tbl, &_plan));
     _runtime_state->set_fragment_root_id(_plan->id());
 
-    if (params.__isset.debug_node_id) {
-        DCHECK(params.__isset.debug_action);
-        DCHECK(params.__isset.debug_phase);
-        ExecNode::set_debug_options(params.debug_node_id, params.debug_phase, params.debug_action,
-                                    _plan);
-    }
-
     // set #senders of exchange nodes before calling Prepare()
     std::vector<ExecNode*> exch_nodes;
     _plan->collect_nodes(TPlanNodeType::EXCHANGE_NODE, &exch_nodes);
diff --git a/be/src/vec/exec/file_scan_node.cpp b/be/src/vec/exec/file_scan_node.cpp
index b01fc739e2..10ecfde835 100644
--- a/be/src/vec/exec/file_scan_node.cpp
+++ b/be/src/vec/exec/file_scan_node.cpp
@@ -86,7 +86,6 @@ Status FileScanNode::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));
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
 
     RETURN_IF_ERROR(start_scanners());
@@ -197,7 +196,6 @@ Status FileScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     _scan_finished.store(true);
     _queue_writer_cond.notify_all();
diff --git a/be/src/vec/exec/join/vhash_join_node.cpp b/be/src/vec/exec/join/vhash_join_node.cpp
index e625c6c883..4c75eb99bd 100644
--- a/be/src/vec/exec/join/vhash_join_node.cpp
+++ b/be/src/vec/exec/join/vhash_join_node.cpp
@@ -974,7 +974,6 @@ Status HashJoinNode::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));
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
 
     RETURN_IF_ERROR(VExpr::open(_build_expr_ctxs, state));
diff --git a/be/src/vec/exec/vanalytic_eval_node.cpp b/be/src/vec/exec/vanalytic_eval_node.cpp
index 37b2406e6f..49d9b11d51 100644
--- a/be/src/vec/exec/vanalytic_eval_node.cpp
+++ b/be/src/vec/exec/vanalytic_eval_node.cpp
@@ -250,7 +250,6 @@ Status VAnalyticEvalNode::get_next(RuntimeState* state, RowBatch* row_batch, boo
 Status VAnalyticEvalNode::get_next(RuntimeState* state, vectorized::Block* block, bool* eos) {
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
 
     if (_input_eos && _output_block_index == _input_blocks.size()) {
diff --git a/be/src/vec/exec/vassert_num_rows_node.cpp b/be/src/vec/exec/vassert_num_rows_node.cpp
index e07983a23c..9bc7db4077 100644
--- a/be/src/vec/exec/vassert_num_rows_node.cpp
+++ b/be/src/vec/exec/vassert_num_rows_node.cpp
@@ -47,7 +47,6 @@ Status VAssertNumRowsNode::open(RuntimeState* state) {
 }
 
 Status VAssertNumRowsNode::get_next(RuntimeState* state, Block* block, bool* eos) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     RETURN_IF_ERROR(child(0)->get_next(state, block, eos));
     _num_rows_returned += block->rows();
diff --git a/be/src/vec/exec/vbroker_scan_node.cpp b/be/src/vec/exec/vbroker_scan_node.cpp
index d6e926a7b8..0d639b7077 100644
--- a/be/src/vec/exec/vbroker_scan_node.cpp
+++ b/be/src/vec/exec/vbroker_scan_node.cpp
@@ -89,7 +89,6 @@ Status VBrokerScanNode::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));
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
 
     RETURN_IF_ERROR(start_scanners());
@@ -200,7 +199,6 @@ Status VBrokerScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     _scan_finished.store(true);
     _queue_writer_cond.notify_all();
diff --git a/be/src/vec/exec/ves_http_scan_node.cpp b/be/src/vec/exec/ves_http_scan_node.cpp
index 9f7d04c1e8..b5dcf02840 100644
--- a/be/src/vec/exec/ves_http_scan_node.cpp
+++ b/be/src/vec/exec/ves_http_scan_node.cpp
@@ -123,7 +123,6 @@ Status VEsHttpScanNode::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));
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
 
     // if conjunct is constant, compute direct and set eos = true
@@ -336,7 +335,6 @@ Status VEsHttpScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     _scan_finished.store(true);
     _queue_writer_cond.notify_all();
diff --git a/be/src/vec/exec/vmysql_scan_node.cpp b/be/src/vec/exec/vmysql_scan_node.cpp
index 58e4355b3e..3ba8a4e3b4 100644
--- a/be/src/vec/exec/vmysql_scan_node.cpp
+++ b/be/src/vec/exec/vmysql_scan_node.cpp
@@ -111,7 +111,6 @@ Status VMysqlScanNode::open(RuntimeState* state) {
         return Status::InternalError("used before initialize.");
     }
 
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
     RETURN_IF_ERROR(_mysql_scanner->open());
     RETURN_IF_ERROR(_mysql_scanner->query(_table_name, _columns, _filters, _limit));
@@ -150,7 +149,6 @@ Status VMysqlScanNode::get_next(RuntimeState* state, vectorized::Block* block, b
     if (state == NULL || block == NULL || eos == NULL)
         return Status::InternalError("input is NULL pointer");
     if (!_is_init) return Status::InternalError("used before initialize.");
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     bool mem_reuse = block->mem_reuse();
     DCHECK(block->rows() == 0);
@@ -239,7 +237,6 @@ Status VMysqlScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
 
     _tuple_pool.reset();
diff --git a/be/src/vec/exec/vodbc_scan_node.cpp b/be/src/vec/exec/vodbc_scan_node.cpp
index 7ff1d7e8d1..f536df22bd 100644
--- a/be/src/vec/exec/vodbc_scan_node.cpp
+++ b/be/src/vec/exec/vodbc_scan_node.cpp
@@ -98,7 +98,6 @@ Status VOdbcScanNode::open(RuntimeState* state) {
         return Status::InternalError("used before initialize.");
     }
 
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
     RETURN_IF_ERROR(_odbc_scanner->open());
     RETURN_IF_ERROR(_odbc_scanner->query());
@@ -130,8 +129,6 @@ Status VOdbcScanNode::get_next(RuntimeState* state, Block* block, bool* eos) {
     if (!is_init()) {
         return Status::InternalError("used before initialize.");
     }
-
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
 
     auto odbc_scanner = get_odbc_scanner();
@@ -223,7 +220,6 @@ Status VOdbcScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
 
     _tuple_pool.reset();
diff --git a/be/src/vec/exec/volap_scan_node.cpp b/be/src/vec/exec/volap_scan_node.cpp
index cd7e39492b..c18023a88c 100644
--- a/be/src/vec/exec/volap_scan_node.cpp
+++ b/be/src/vec/exec/volap_scan_node.cpp
@@ -1511,8 +1511,6 @@ Status VOlapScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
-
     // change done status
     {
         std::unique_lock<std::mutex> l(_blocks_lock);
@@ -1557,7 +1555,6 @@ Status VOlapScanNode::close(RuntimeState* state) {
 }
 
 Status VOlapScanNode::get_next(RuntimeState* state, Block* block, bool* eos) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
 
diff --git a/be/src/vec/exec/vrepeat_node.cpp b/be/src/vec/exec/vrepeat_node.cpp
index 85eb1784b1..636ad5dd43 100644
--- a/be/src/vec/exec/vrepeat_node.cpp
+++ b/be/src/vec/exec/vrepeat_node.cpp
@@ -176,8 +176,6 @@ Status VRepeatNode::get_next(RuntimeState* state, Block* block, bool* eos) {
     if (state == nullptr || block == nullptr || eos == nullptr) {
         return Status::InternalError("input is NULL pointer");
     }
-
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     DCHECK(_repeat_id_idx >= 0);
     for (const std::vector<int64_t>& v : _grouping_list) {
diff --git a/be/src/vec/exec/vschema_scan_node.cpp b/be/src/vec/exec/vschema_scan_node.cpp
index 07e8d638f5..4df6bc4151 100644
--- a/be/src/vec/exec/vschema_scan_node.cpp
+++ b/be/src/vec/exec/vschema_scan_node.cpp
@@ -105,7 +105,6 @@ Status VSchemaScanNode::open(RuntimeState* state) {
 
     SCOPED_TIMER(_runtime_profile->total_time_counter());
     SCOPED_SWITCH_TASK_THREAD_LOCAL_MEM_TRACKER(mem_tracker());
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
     RETURN_IF_ERROR(ExecNode::open(state));
 
@@ -238,7 +237,6 @@ Status VSchemaScanNode::get_next(RuntimeState* state, vectorized::Block* block,
     if (state == NULL || block == NULL || eos == NULL)
         return Status::InternalError("input is NULL pointer");
     if (!_is_init) return Status::InternalError("used before initialize.");
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     std::vector<vectorized::MutableColumnPtr> columns(_slot_num);
     bool schema_eos = false;
@@ -459,7 +457,6 @@ Status VSchemaScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     SCOPED_TIMER(_runtime_profile->total_time_counter());
 
     _tuple_pool.reset();
diff --git a/be/src/vec/exec/vselect_node.cpp b/be/src/vec/exec/vselect_node.cpp
index 7482024d63..b81b19c1ad 100644
--- a/be/src/vec/exec/vselect_node.cpp
+++ b/be/src/vec/exec/vselect_node.cpp
@@ -32,7 +32,6 @@ Status VSelectNode::prepare(RuntimeState* state) {
 }
 
 Status VSelectNode::open(RuntimeState* state) {
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_ERROR(ExecNode::open(state));
     RETURN_IF_ERROR(child(0)->open(state));
     return Status::OK();
@@ -44,7 +43,6 @@ Status VSelectNode::get_next(RuntimeState* state, RowBatch* row_batch, bool* eos
 
 Status VSelectNode::get_next(RuntimeState* state, vectorized::Block* block, bool* eos) {
     SCOPED_TIMER(_runtime_profile->total_time_counter());
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     do {
         RETURN_IF_CANCELLED(state);
diff --git a/be/src/vec/exec/vtable_valued_function_scannode.cpp b/be/src/vec/exec/vtable_valued_function_scannode.cpp
index 8f810b17c3..ba015c5877 100644
--- a/be/src/vec/exec/vtable_valued_function_scannode.cpp
+++ b/be/src/vec/exec/vtable_valued_function_scannode.cpp
@@ -80,8 +80,6 @@ Status VTableValuedFunctionScanNode::open(RuntimeState* state) {
     if (!_is_init) {
         return Status::InternalError("used before initialize.");
     }
-
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::OPEN));
     RETURN_IF_CANCELLED(state);
     SCOPED_TIMER(_runtime_profile->total_time_counter());
 
@@ -98,7 +96,6 @@ Status VTableValuedFunctionScanNode::get_next(RuntimeState* state, vectorized::B
     if (state == nullptr || block == nullptr || eos == nullptr) {
         return Status::InternalError("input is NULL pointer");
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     Status res = _table_func->get_next(state, block, eos);
     RETURN_IF_ERROR(VExprContext::filter_block(_vconjunct_ctx_ptr, block, block->columns()));
@@ -110,7 +107,6 @@ Status VTableValuedFunctionScanNode::close(RuntimeState* state) {
     if (is_closed()) {
         return Status::OK();
     }
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::CLOSE));
     _table_func->close(state);
     SCOPED_TIMER(_runtime_profile->total_time_counter());
 
diff --git a/be/src/vec/exec/vunion_node.cpp b/be/src/vec/exec/vunion_node.cpp
index 15494c24f9..b713d4f1a1 100644
--- a/be/src/vec/exec/vunion_node.cpp
+++ b/be/src/vec/exec/vunion_node.cpp
@@ -214,7 +214,6 @@ Status VUnionNode::get_next_const(RuntimeState* state, Block* block) {
 
 Status VUnionNode::get_next(RuntimeState* state, Block* block, bool* eos) {
     SCOPED_TIMER(_runtime_profile->total_time_counter());
-    RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
     RETURN_IF_CANCELLED(state);
     // RETURN_IF_ERROR(QueryMaintenance(state));
 
diff --git a/gensrc/thrift/PaloInternalService.thrift b/gensrc/thrift/PaloInternalService.thrift
index aa1576b95a..e2b73efd84 100644
--- a/gensrc/thrift/PaloInternalService.thrift
+++ b/gensrc/thrift/PaloInternalService.thrift
@@ -94,7 +94,7 @@ struct TQueryOptions {
   8: optional i32 max_io_buffers = 0
   9: optional bool allow_unsupported_formats = 0
   10: optional i64 default_order_by_limit = -1
-  11: optional string debug_action = ""
+  // 11: optional string debug_action = "" // Never used
   12: optional i64 mem_limit = 2147483648
   13: optional bool abort_on_default_limit_exceeded = 0
   14: optional i32 query_timeout = 3600
@@ -227,9 +227,9 @@ struct TPlanFragmentExecParams {
   5: list<TPlanFragmentDestination> destinations
 
   // Debug options: perform some action in a particular phase of a particular node
-  6: optional Types.TPlanNodeId debug_node_id
-  7: optional PlanNodes.TExecNodePhase debug_phase
-  8: optional PlanNodes.TDebugAction debug_action
+  // 6: optional Types.TPlanNodeId debug_node_id // Never used
+  // 7: optional PlanNodes.TExecNodePhase debug_phase // Never used
+  // 8: optional PlanNodes.TDebugAction debug_action // Never used
 
   // Id of this fragment in its role as a sender.
   9: optional i32 sender_id


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