From 5ea836facc3ea256ee9265ef918781ef7d59ccc0 Mon Sep 17 00:00:00 2001 From: simonjoylet Date: Tue, 22 Nov 2022 03:35:57 +0000 Subject: [PATCH] fix repeatable ddl start when migrate retry --- src/storage/ddl/ob_tablet_ddl_kv_mgr.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/storage/ddl/ob_tablet_ddl_kv_mgr.cpp b/src/storage/ddl/ob_tablet_ddl_kv_mgr.cpp index 3a406b912d..b6707115f3 100644 --- a/src/storage/ddl/ob_tablet_ddl_kv_mgr.cpp +++ b/src/storage/ddl/ob_tablet_ddl_kv_mgr.cpp @@ -107,12 +107,15 @@ int ObTabletDDLKvMgr::ddl_start(const ObITable::TableKey &table_key, ret = OB_ERR_SYS; LOG_WARN("tablet id not same", K(ret), K(table_key), K(tablet_id_)); } else if (0 != start_log_ts_) { - if (execution_id >= execution_id_ && start_log_ts > start_log_ts_) { + if (execution_id >= execution_id_ && start_log_ts >= start_log_ts_) { LOG_INFO("execution id changed, need cleanup", K(ls_id_), K(tablet_id_), K(execution_id_), K(execution_id), K(start_log_ts_), K(start_log_ts)); cleanup_unlock(); is_brand_new = true; } else { - ret = OB_TASK_EXPIRED; + if (checkpoint_log_ts <= 0) { + // only return error code when not start from checkpoint. + ret = OB_TASK_EXPIRED; + } LOG_INFO("ddl start ignored", K(ls_id_), K(tablet_id_), K(execution_id_), K(execution_id), K(start_log_ts_), K(start_log_ts)); } } else {