From d482791b4fe3c530f834f6e11e643e126183edd9 Mon Sep 17 00:00:00 2001 From: chaoyli Date: Wed, 15 May 2019 10:56:39 +0800 Subject: [PATCH] Skip tablet under compaction when choose candidate --- be/src/olap/olap_engine.cpp | 16 ++++++++++++++++ be/src/olap/segment_group.cpp | 1 + 2 files changed, 17 insertions(+) diff --git a/be/src/olap/olap_engine.cpp b/be/src/olap/olap_engine.cpp index 9601f63c715f37..35a80a1d143a7a 100644 --- a/be/src/olap/olap_engine.cpp +++ b/be/src/olap/olap_engine.cpp @@ -1897,6 +1897,22 @@ OLAPTablePtr OLAPEngine::_find_best_tablet_to_compaction(CompactionType compacti continue; } + if (compaction_type == CompactionType::CUMULATIVE_COMPACTION) { + if (!table_ptr->try_cumulative_lock()) { + continue; + } else { + table_ptr->release_cumulative_lock(); + } + } + + if (compaction_type == CompactionType::BASE_COMPACTION) { + if (!table_ptr->try_base_compaction_lock()) { + continue; + } else { + table_ptr->release_base_compaction_lock(); + } + } + ReadLock rdlock(table_ptr->get_header_lock_ptr()); uint32_t table_score = 0; if (compaction_type == CompactionType::BASE_COMPACTION) { diff --git a/be/src/olap/segment_group.cpp b/be/src/olap/segment_group.cpp index fdabc9bc2fd705..3fdd4d27a4152c 100644 --- a/be/src/olap/segment_group.cpp +++ b/be/src/olap/segment_group.cpp @@ -568,6 +568,7 @@ OLAPStatus SegmentGroup::add_short_key(const RowCursor& short_key, const uint32_ _check_io_error(res); return res; } + _file_created = true; _new_segment_created = true; // 准备FileHeader