diff --git a/be/src/olap/storage_engine.cpp b/be/src/olap/storage_engine.cpp index 0c8fe3b120279b..193792a948e92c 100644 --- a/be/src/olap/storage_engine.cpp +++ b/be/src/olap/storage_engine.cpp @@ -957,7 +957,8 @@ void StorageEngine::_clean_unused_rowset_metas() { return true; } if (rowset_meta->rowset_state() == RowsetStatePB::VISIBLE && - (!tablet->rowset_meta_is_useful(rowset_meta))) { + (!tablet->rowset_meta_is_useful(rowset_meta)) && + !check_rowset_id_in_unused_rowsets(rowset_id)) { LOG(INFO) << "rowset meta is not used any more, remove it. rowset_id=" << rowset_meta->rowset_id(); invalid_rowset_metas.push_back(rowset_meta); diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp index 20f275ea7d4e0d..3f1b5d70f06a83 100644 --- a/be/src/olap/tablet.cpp +++ b/be/src/olap/tablet.cpp @@ -920,8 +920,10 @@ void Tablet::delete_expired_stale_rowset() { if (config::enable_mow_verbose_log) { LOG_INFO("finish delete_expired_stale_rowset for tablet={}", tablet_id()); } - DBUG_EXECUTE_IF("Tablet.delete_expired_stale_rowset.start_delete_unused_rowset", - { _engine.start_delete_unused_rowset(); }); + DBUG_EXECUTE_IF("Tablet.delete_expired_stale_rowset.start_delete_unused_rowset", { + _engine.start_delete_unused_rowset(); + [[maybe_unused]] auto st = _engine.start_trash_sweep(nullptr); + }); } Status Tablet::check_version_integrity(const Version& version, bool quiet) {