From 5fa56e162b84aa43407946e2301ff59bb712e9bf Mon Sep 17 00:00:00 2001 From: Mingyu Chen Date: Sun, 21 Mar 2021 11:18:15 +0800 Subject: [PATCH] [Bug] Fix compaction failed when doing incremental clone (#5540) --- be/src/olap/rowset/alpha_rowset.cpp | 2 +- be/src/olap/tablet_meta.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/be/src/olap/rowset/alpha_rowset.cpp b/be/src/olap/rowset/alpha_rowset.cpp index 3e6ab992b6..038eff6d50 100644 --- a/be/src/olap/rowset/alpha_rowset.cpp +++ b/be/src/olap/rowset/alpha_rowset.cpp @@ -171,7 +171,7 @@ OLAPStatus AlphaRowset::split_range(const RowCursor& start_key, const RowCursor& std::shared_ptr largest_segment_group = _segment_group_with_largest_size(); if (largest_segment_group == nullptr || largest_segment_group->current_num_rows_per_row_block() == 0) { - LOG(WARNING) << "failed to get largest_segment_group. is null: " + VLOG_NOTICE << "failed to get largest_segment_group. is null: " << (largest_segment_group == nullptr) << ". version: " << start_version() << "-" << end_version() << ". tablet: " << rowset_meta()->tablet_id(); ranges->emplace_back(start_key.to_tuple()); diff --git a/be/src/olap/tablet_meta.cpp b/be/src/olap/tablet_meta.cpp index 5bfbbc968c..c0ee1c0072 100644 --- a/be/src/olap/tablet_meta.cpp +++ b/be/src/olap/tablet_meta.cpp @@ -525,12 +525,17 @@ void TabletMeta::modify_rs_metas(const std::vector& to_add, _rs_metas.insert(_rs_metas.end(), to_add.begin(), to_add.end()); } +// Use the passing "rs_metas" to replace the rs meta in this tablet meta +// Also clear the _stale_rs_metas because this tablet meta maybe copyied from +// an existing tablet before. Add after revise, only the passing "rs_metas" +// is needed. void TabletMeta::revise_rs_metas(std::vector&& rs_metas) { WriteLock wrlock(&_meta_lock); // delete alter task _alter_task.reset(); _rs_metas = std::move(rs_metas); + _stale_rs_metas.clear(); } void TabletMeta::delete_stale_rs_meta_by_version(const Version& version) {