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

dataroaring 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 147a148364 [refactor](segcompaction) simplify 
submit_seg_compaction_task interface (#22387)
147a148364 is described below

commit 147a14836460c98621d69827ec087c3fc5c3aa38
Author: Kaijie Chen <c...@apache.org>
AuthorDate: Mon Jul 31 13:53:38 2023 +0800

    [refactor](segcompaction) simplify submit_seg_compaction_task interface 
(#22387)
---
 be/src/olap/olap_server.cpp               | 9 ++++-----
 be/src/olap/rowset/beta_rowset_writer.cpp | 6 ++++--
 be/src/olap/rowset/beta_rowset_writer.h   | 2 --
 be/src/olap/storage_engine.h              | 6 +++---
 4 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/be/src/olap/olap_server.cpp b/be/src/olap/olap_server.cpp
index dab16000c0..44ec7304e5 100644
--- a/be/src/olap/olap_server.cpp
+++ b/be/src/olap/olap_server.cpp
@@ -54,7 +54,6 @@
 #include "olap/cumulative_compaction_policy.h"
 #include "olap/data_dir.h"
 #include "olap/olap_common.h"
-#include "olap/rowset/beta_rowset_writer.h"
 #include "olap/rowset/segcompaction.h"
 #include "olap/schema_change.h"
 #include "olap/storage_engine.h"
@@ -983,17 +982,17 @@ Status 
StorageEngine::submit_compaction_task(TabletSharedPtr tablet, CompactionT
     return _submit_compaction_task(tablet, compaction_type, force);
 }
 
-Status StorageEngine::_handle_seg_compaction(BetaRowsetWriter* writer,
+Status StorageEngine::_handle_seg_compaction(SegcompactionWorker* worker,
                                              SegCompactionCandidatesSharedPtr 
segments) {
-    writer->get_segcompaction_worker().compact_segments(segments);
+    worker->compact_segments(segments);
     // return OK here. error will be reported via 
BetaRowsetWriter::_segcompaction_status
     return Status::OK();
 }
 
-Status StorageEngine::submit_seg_compaction_task(BetaRowsetWriter* writer,
+Status StorageEngine::submit_seg_compaction_task(SegcompactionWorker* worker,
                                                  
SegCompactionCandidatesSharedPtr segments) {
     return _seg_compaction_thread_pool->submit_func(
-            std::bind<void>(&StorageEngine::_handle_seg_compaction, this, 
writer, segments));
+            std::bind<void>(&StorageEngine::_handle_seg_compaction, this, 
worker, segments));
 }
 
 Status StorageEngine::process_index_change_task(const TAlterInvertedIndexReq& 
request) {
diff --git a/be/src/olap/rowset/beta_rowset_writer.cpp 
b/be/src/olap/rowset/beta_rowset_writer.cpp
index 1b30ab8342..551d7bdd7d 100644
--- a/be/src/olap/rowset/beta_rowset_writer.cpp
+++ b/be/src/olap/rowset/beta_rowset_writer.cpp
@@ -396,7 +396,8 @@ Status BetaRowsetWriter::_segcompaction_if_necessary() {
             LOG(INFO) << "submit segcompaction task, tablet_id:" << 
_context.tablet_id
                       << " rowset_id:" << _context.rowset_id << " segment 
num:" << _num_segment
                       << ", segcompacted_point:" << _segcompacted_point;
-            status = 
StorageEngine::instance()->submit_seg_compaction_task(this, segments);
+            status = 
StorageEngine::instance()->submit_seg_compaction_task(&_segcompaction_worker,
+                                                                           
segments);
             if (status.ok()) {
                 return status;
             }
@@ -431,7 +432,8 @@ Status 
BetaRowsetWriter::_segcompaction_ramaining_if_necessary() {
         LOG(INFO) << "submit segcompaction remaining task, tablet_id:" << 
_context.tablet_id
                   << " rowset_id:" << _context.rowset_id << " segment num:" << 
_num_segment
                   << " segcompacted_point:" << _segcompacted_point;
-        status = StorageEngine::instance()->submit_seg_compaction_task(this, 
segments);
+        status = 
StorageEngine::instance()->submit_seg_compaction_task(&_segcompaction_worker,
+                                                                       
segments);
         if (status.ok()) {
             return status;
         }
diff --git a/be/src/olap/rowset/beta_rowset_writer.h 
b/be/src/olap/rowset/beta_rowset_writer.h
index d4d9f2f27e..7ad3aed786 100644
--- a/be/src/olap/rowset/beta_rowset_writer.h
+++ b/be/src/olap/rowset/beta_rowset_writer.h
@@ -120,8 +120,6 @@ public:
 
     int32_t allocate_segment_id() override { return 
_next_segment_id.fetch_add(1); };
 
-    SegcompactionWorker& get_segcompaction_worker() { return 
_segcompaction_worker; }
-
     Status flush_segment_writer_for_segcompaction(
             std::unique_ptr<segment_v2::SegmentWriter>* writer, uint64_t 
index_size,
             KeyBoundsPB& key_bounds);
diff --git a/be/src/olap/storage_engine.h b/be/src/olap/storage_engine.h
index 585f26902a..e1dfee1d79 100644
--- a/be/src/olap/storage_engine.h
+++ b/be/src/olap/storage_engine.h
@@ -55,7 +55,7 @@ class DataDir;
 class EngineTask;
 class MemTableFlushExecutor;
 class TaskWorkerPool;
-class BetaRowsetWriter;
+class SegcompactionWorker;
 class BaseCompaction;
 class CumulativeCompaction;
 class SingleReplicaCompaction;
@@ -208,7 +208,7 @@ public:
 
     Status submit_compaction_task(TabletSharedPtr tablet, CompactionType 
compaction_type,
                                   bool force);
-    Status submit_seg_compaction_task(BetaRowsetWriter* writer,
+    Status submit_seg_compaction_task(SegcompactionWorker* worker,
                                       SegCompactionCandidatesSharedPtr 
segments);
 
     std::unique_ptr<ThreadPool>& tablet_publish_txn_thread_pool() {
@@ -324,7 +324,7 @@ private:
 
     void _cache_file_cleaner_tasks_producer_callback();
 
-    Status _handle_seg_compaction(BetaRowsetWriter* writer,
+    Status _handle_seg_compaction(SegcompactionWorker* worker,
                                   SegCompactionCandidatesSharedPtr segments);
 
     Status _handle_index_change(IndexBuilderSharedPtr index_builder);


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

Reply via email to