This is an automated email from the ASF dual-hosted git repository.

liulijia 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 d86c67863d Remove unused code (#21735)
d86c67863d is described below

commit d86c67863d836b6ba3f0d824979873eaf92c3e19
Author: Lijia Liu <liutang...@yeah.net>
AuthorDate: Wed Jul 12 14:48:13 2023 +0800

    Remove unused code (#21735)
---
 be/src/exec/exec_node.cpp                     | 32 ---------------------------
 be/src/exec/exec_node.h                       |  6 -----
 be/src/exec/scan_node.h                       |  5 -----
 be/src/olap/reader.cpp                        |  1 -
 be/src/olap/reader.h                          |  2 --
 be/src/pipeline/pipeline_fragment_context.cpp |  1 -
 be/src/runtime/plan_fragment_executor.cpp     |  2 --
 be/src/vec/exec/scan/new_olap_scan_node.cpp   |  3 +--
 be/src/vec/exec/scan/new_olap_scanner.cpp     |  8 +------
 be/src/vec/exec/scan/new_olap_scanner.h       |  3 +--
 be/src/vec/exec/scan/vscan_node.h             |  3 ---
 11 files changed, 3 insertions(+), 63 deletions(-)

diff --git a/be/src/exec/exec_node.cpp b/be/src/exec/exec_node.cpp
index 8e91212eb2..938cbc2608 100644
--- a/be/src/exec/exec_node.cpp
+++ b/be/src/exec/exec_node.cpp
@@ -495,38 +495,6 @@ void ExecNode::collect_scan_nodes(vector<ExecNode*>* 
nodes) {
     collect_nodes(TPlanNodeType::META_SCAN_NODE, nodes);
 }
 
-void ExecNode::try_do_aggregate_serde_improve() {
-    std::vector<ExecNode*> agg_node;
-    collect_nodes(TPlanNodeType::AGGREGATION_NODE, &agg_node);
-    if (agg_node.size() != 1) {
-        return;
-    }
-
-    if (agg_node[0]->_children.size() != 1) {
-        return;
-    }
-
-    if (agg_node[0]->_children[0]->type() != TPlanNodeType::OLAP_SCAN_NODE) {
-        return;
-    }
-
-    // TODO(cmy): should be removed when NewOlapScanNode is ready
-    ExecNode* child0 = agg_node[0]->_children[0];
-    if (typeid(*child0) == typeid(vectorized::NewOlapScanNode) ||
-        typeid(*child0) == typeid(vectorized::NewFileScanNode) ||
-        typeid(*child0) == typeid(vectorized::NewOdbcScanNode) ||
-        typeid(*child0) == typeid(vectorized::NewEsScanNode) ||
-        typeid(*child0) == typeid(vectorized::NewJdbcScanNode) ||
-        typeid(*child0) == typeid(vectorized::VMetaScanNode)) {
-        vectorized::VScanNode* scan_node =
-                static_cast<vectorized::VScanNode*>(agg_node[0]->_children[0]);
-        scan_node->set_no_agg_finalize();
-    } else {
-        ScanNode* scan_node = 
static_cast<ScanNode*>(agg_node[0]->_children[0]);
-        scan_node->set_no_agg_finalize();
-    }
-}
-
 void ExecNode::init_runtime_profile(const std::string& name) {
     std::stringstream ss;
     ss << name << " (id=" << _id << ")";
diff --git a/be/src/exec/exec_node.h b/be/src/exec/exec_node.h
index a2abd0eacb..55cdea53b6 100644
--- a/be/src/exec/exec_node.h
+++ b/be/src/exec/exec_node.h
@@ -196,12 +196,6 @@ public:
 
     virtual void prepare_for_next() {}
 
-    // When the agg node is the scan node direct parent,
-    // we directly return agg object from scan node to agg node,
-    // and don't serialize the agg object.
-    // This improve is cautious, we ensure the correctness firstly.
-    void try_do_aggregate_serde_improve();
-
     // Returns a string representation in DFS order of the plan rooted at this.
     std::string debug_string() const;
 
diff --git a/be/src/exec/scan_node.h b/be/src/exec/scan_node.h
index ddad887b66..2514b0d232 100644
--- a/be/src/exec/scan_node.h
+++ b/be/src/exec/scan_node.h
@@ -87,8 +87,6 @@ public:
 
     bool is_scan_node() const override { return true; }
 
-    void set_no_agg_finalize() { _need_agg_finalize = false; }
-
     RuntimeProfile::Counter* bytes_read_counter() const { return 
_bytes_read_counter; }
     RuntimeProfile::Counter* rows_read_counter() const { return 
_rows_read_counter; }
     RuntimeProfile::Counter* total_throughput_counter() const { return 
_total_throughput_counter; }
@@ -105,9 +103,6 @@ protected:
     // Wall based aggregate read throughput [bytes/sec]
     RuntimeProfile::Counter* _total_throughput_counter;
     RuntimeProfile::Counter* _num_disks_accessed_counter;
-
-protected:
-    bool _need_agg_finalize = true;
 };
 
 } // namespace doris
diff --git a/be/src/olap/reader.cpp b/be/src/olap/reader.cpp
index b6ad68542f..730fdf5145 100644
--- a/be/src/olap/reader.cpp
+++ b/be/src/olap/reader.cpp
@@ -255,7 +255,6 @@ Status TabletReader::_init_params(const ReaderParams& 
read_params) {
 
     _direct_mode = read_params.direct_mode;
     _aggregation = read_params.aggregation;
-    _need_agg_finalize = read_params.need_agg_finalize;
     _reader_type = read_params.reader_type;
     _tablet = read_params.tablet;
     _tablet_schema = read_params.tablet_schema;
diff --git a/be/src/olap/reader.h b/be/src/olap/reader.h
index a2ab924061..231ff23d6e 100644
--- a/be/src/olap/reader.h
+++ b/be/src/olap/reader.h
@@ -98,7 +98,6 @@ public:
         ReaderType reader_type = ReaderType::READER_QUERY;
         bool direct_mode = false;
         bool aggregation = false;
-        bool need_agg_finalize = true;
         // for compaction, schema_change, check_sum: we don't use page cache
         // for query and config::disable_storage_page_cache is false, we use 
page cache
         bool use_page_cache = false;
@@ -266,7 +265,6 @@ protected:
 
     bool _aggregation = false;
     // for agg query, we don't need to finalize when scan agg object data
-    bool _need_agg_finalize = true;
     ReaderType _reader_type = ReaderType::READER_QUERY;
     bool _next_delete_flag = false;
     bool _filter_delete = false;
diff --git a/be/src/pipeline/pipeline_fragment_context.cpp 
b/be/src/pipeline/pipeline_fragment_context.cpp
index 29f5b8d438..8eef37d931 100644
--- a/be/src/pipeline/pipeline_fragment_context.cpp
+++ b/be/src/pipeline/pipeline_fragment_context.cpp
@@ -274,7 +274,6 @@ Status PipelineFragmentContext::prepare(const 
doris::TPipelineFragmentParams& re
     VLOG_CRITICAL << "params.per_node_scan_ranges.size()="
                   << local_params.per_node_scan_ranges.size();
 
-    _root_plan->try_do_aggregate_serde_improve();
     // set scan range in ScanNode
     for (int i = 0; i < scan_nodes.size(); ++i) {
         // TODO(cmy): this "if...else" should be removed once all ScanNode are 
derived from VScanNode.
diff --git a/be/src/runtime/plan_fragment_executor.cpp 
b/be/src/runtime/plan_fragment_executor.cpp
index d64c6f8c53..110b82d189 100644
--- a/be/src/runtime/plan_fragment_executor.cpp
+++ b/be/src/runtime/plan_fragment_executor.cpp
@@ -182,8 +182,6 @@ Status PlanFragmentExecutor::prepare(const 
TExecPlanFragmentParams& request,
     VLOG_CRITICAL << "scan_nodes.size()=" << scan_nodes.size();
     VLOG_CRITICAL << "params.per_node_scan_ranges.size()=" << 
params.per_node_scan_ranges.size();
 
-    _plan->try_do_aggregate_serde_improve();
-
     for (int i = 0; i < scan_nodes.size(); ++i) {
         // TODO(cmy): this "if...else" should be removed once all ScanNode are 
derived from VScanNode.
         ExecNode* node = scan_nodes[i];
diff --git a/be/src/vec/exec/scan/new_olap_scan_node.cpp 
b/be/src/vec/exec/scan/new_olap_scan_node.cpp
index 011bd3a3e4..cfd9e329f0 100644
--- a/be/src/vec/exec/scan/new_olap_scan_node.cpp
+++ b/be/src/vec/exec/scan/new_olap_scan_node.cpp
@@ -508,8 +508,7 @@ Status 
NewOlapScanNode::_init_scanners(std::list<VScannerSPtr>* scanners) {
                                  const std::vector<std::pair<int, int>>& 
rs_reader_seg_offsets) {
         std::shared_ptr<NewOlapScanner> scanner = 
NewOlapScanner::create_shared(
                 _state, this, _limit_per_scanner, 
_olap_scan_node.is_preaggregation, scan_range,
-                key_ranges, rs_readers, rs_reader_seg_offsets, 
_need_agg_finalize,
-                _scanner_profile.get());
+                key_ranges, rs_readers, rs_reader_seg_offsets, 
_scanner_profile.get());
 
         RETURN_IF_ERROR(scanner->prepare(_state, _conjuncts));
         scanner->set_compound_filters(_compound_filters);
diff --git a/be/src/vec/exec/scan/new_olap_scanner.cpp 
b/be/src/vec/exec/scan/new_olap_scanner.cpp
index e6763bf94b..0b631b143e 100644
--- a/be/src/vec/exec/scan/new_olap_scanner.cpp
+++ b/be/src/vec/exec/scan/new_olap_scanner.cpp
@@ -65,10 +65,9 @@ NewOlapScanner::NewOlapScanner(RuntimeState* state, 
NewOlapScanNode* parent, int
                                const std::vector<OlapScanRange*>& key_ranges,
                                const std::vector<RowsetReaderSharedPtr>& 
rs_readers,
                                const std::vector<std::pair<int, int>>& 
rs_reader_seg_offsets,
-                               bool need_agg_finalize, RuntimeProfile* profile)
+                               RuntimeProfile* profile)
         : VScanner(state, static_cast<VScanNode*>(parent), limit, profile),
           _aggregation(aggregation),
-          _need_agg_finalize(need_agg_finalize),
           _version(-1),
           _scan_range(scan_range),
           _key_ranges(key_ranges) {
@@ -376,11 +375,6 @@ Status NewOlapScanner::_init_tablet_reader_params(
         }
     }
 
-    // If a agg node is this scan node direct parent
-    // we will not call agg object finalize method in scan node,
-    // to avoid the unnecessary SerDe and improve query performance
-    _tablet_reader_params.need_agg_finalize = _need_agg_finalize;
-
     if (!config::disable_storage_page_cache) {
         _tablet_reader_params.use_page_cache = true;
     }
diff --git a/be/src/vec/exec/scan/new_olap_scanner.h 
b/be/src/vec/exec/scan/new_olap_scanner.h
index 28adc4d5fe..f44e55ee37 100644
--- a/be/src/vec/exec/scan/new_olap_scanner.h
+++ b/be/src/vec/exec/scan/new_olap_scanner.h
@@ -57,7 +57,7 @@ public:
                    const TPaloScanRange& scan_range, const 
std::vector<OlapScanRange*>& key_ranges,
                    const std::vector<RowsetReaderSharedPtr>& rs_readers,
                    const std::vector<std::pair<int, int>>& 
rs_reader_seg_offsets,
-                   bool need_agg_finalize, RuntimeProfile* profile);
+                   RuntimeProfile* profile);
 
     Status init() override;
 
@@ -88,7 +88,6 @@ private:
     Status _init_return_columns();
 
     bool _aggregation;
-    bool _need_agg_finalize;
 
     TabletSchemaSPtr _tablet_schema;
     TabletSharedPtr _tablet;
diff --git a/be/src/vec/exec/scan/vscan_node.h 
b/be/src/vec/exec/scan/vscan_node.h
index 481e3480dc..83e8909280 100644
--- a/be/src/vec/exec/scan/vscan_node.h
+++ b/be/src/vec/exec/scan/vscan_node.h
@@ -141,8 +141,6 @@ public:
 
     Status close(RuntimeState* state) override;
 
-    void set_no_agg_finalize() { _need_agg_finalize = false; }
-
     // Clone current _conjuncts to conjuncts, if exists.
     Status clone_conjunct_ctxs(VExprContextSPtrs& conjuncts);
 
@@ -296,7 +294,6 @@ protected:
     // "_colname_to_value_range" and in "_not_in_value_ranges"
     std::vector<ColumnValueRangeType> _not_in_value_ranges;
 
-    bool _need_agg_finalize = true;
     // If the query like select * from table limit 10; then the query should 
run in
     // single scanner to avoid too many scanners which will cause lots of 
useless read.
     bool _should_run_serial = false;


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

Reply via email to