You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2021/03/21 03:18:35 UTC

[incubator-doris] branch master updated: [Bug] Fix compaction failed when doing incremental clone (#5540)

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

morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 5fa56e1  [Bug] Fix compaction failed when doing incremental clone (#5540)
5fa56e1 is described below

commit 5fa56e162b84aa43407946e2301ff59bb712e9bf
Author: Mingyu Chen <mo...@gmail.com>
AuthorDate: Sun Mar 21 11:18:15 2021 +0800

    [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 3e6ab99..038eff6 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<SegmentGroup> 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 5bfbbc9..c0ee1c0 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<RowsetMetaSharedPtr>& 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<RowsetMetaSharedPtr>&& 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) {

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