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