diff --git a/src/storage/compaction/ob_tablet_merge_task.cpp b/src/storage/compaction/ob_tablet_merge_task.cpp index 83f705d06f..c224e26f7c 100644 --- a/src/storage/compaction/ob_tablet_merge_task.cpp +++ b/src/storage/compaction/ob_tablet_merge_task.cpp @@ -1382,6 +1382,8 @@ int ObBatchFreezeTabletsTask::process() } else if (OB_TMP_FAIL(MTL(ObTenantFreezer *)->tablet_freeze(cur_pair.tablet_id_, true/*need_rewrite*/, true/*is_sync*/))) { LOG_WARN_RET(tmp_ret, "failed to force freeze tablet", K(param), K(cur_pair)); ++fail_freeze_cnt; + } else if (!MTL(ObTenantTabletScheduler *)->could_major_merge_start()) { + // merge is suspended } else if (OB_TMP_FAIL(ls->get_tablet_svr()->get_tablet(cur_pair.tablet_id_, tablet_handle, 0/*timeout_us*/, @@ -1390,6 +1392,8 @@ int ObBatchFreezeTabletsTask::process() } else if (FALSE_IT(tablet = tablet_handle.get_obj())) { } else if (OB_UNLIKELY(tablet->get_snapshot_version() < cur_pair.schedule_merge_scn_)) { // do nothing + } else if (!tablet->is_data_complete()) { + // no need to schedule merge } else if (OB_TMP_FAIL(compaction::ObTenantTabletScheduler::schedule_merge_dag(param.ls_id_, *tablet, MEDIUM_MERGE,