From ef6dc1b942011322981b8121a1c5e0c0e2200253 Mon Sep 17 00:00:00 2001 From: lalalafeier Date: Mon, 8 Jan 2024 07:42:47 +0000 Subject: [PATCH] Add obtest about canceling clone job and cloning for oracle tenant --- src/rootserver/restore/ob_clone_scheduler.cpp | 9 +++++++++ src/share/ob_debug_sync_point.h | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/src/rootserver/restore/ob_clone_scheduler.cpp b/src/rootserver/restore/ob_clone_scheduler.cpp index 5b725129a0..6b2b15faa0 100644 --- a/src/rootserver/restore/ob_clone_scheduler.cpp +++ b/src/rootserver/restore/ob_clone_scheduler.cpp @@ -266,6 +266,7 @@ ERRSIM_POINT_DEF(ERRSIM_CLONE_LOCK_ERROR); int ObCloneScheduler::clone_lock(const share::ObCloneJob &job) { int ret = OB_SUCCESS; + DEBUG_SYNC(HANG_IN_CLONE_SYS_LOCK); const uint64_t tenant_id = job.get_tenant_id(); const uint64_t source_tenant_id = job.get_source_tenant_id(); const int64_t job_id = job.get_job_id(); @@ -359,6 +360,7 @@ ERRSIM_POINT_DEF(ERRSIM_CLONE_RESOURCE_POOL_ERROR); int ObCloneScheduler::clone_create_resource_pool(const share::ObCloneJob &job) { int ret = OB_SUCCESS; + DEBUG_SYNC(HANG_IN_CLONE_SYS_CREATE_INNER_RESOURCE_POOL); obrpc::ObCloneResourcePoolArg arg; int64_t timeout = GCONF._ob_ddl_timeout; uint64_t resource_pool_id = job.get_resource_pool_id(); @@ -411,6 +413,7 @@ ERRSIM_POINT_DEF(ERRSIM_CLONE_CREATE_SNAPSHOT_ERROR); int ObCloneScheduler::clone_create_snapshot_for_fork_tenant(const share::ObCloneJob &job) { int ret = OB_SUCCESS; + DEBUG_SYNC(HANG_IN_CLONE_SYS_CREATE_SNAPSHOT); int tmp_ret = OB_SUCCESS; const uint64_t tenant_id = job.get_tenant_id(); const uint64_t source_tenant_id = job.get_source_tenant_id(); @@ -511,6 +514,7 @@ ERRSIM_POINT_DEF(ERRSIM_CLONE_WAIT_CREATE_SNAPSHOT_ERROR); int ObCloneScheduler::clone_wait_create_snapshot_for_fork_tenant(const share::ObCloneJob &job) { int ret = OB_SUCCESS; + DEBUG_SYNC(HANG_IN_CLONE_SYS_WAIT_CREATE_SNAPSHOT); const uint64_t tenant_id = job.get_tenant_id(); const uint64_t source_tenant_id = job.get_source_tenant_id(); const ObTenantCloneJobType type = job.get_job_type(); @@ -593,6 +597,7 @@ ERRSIM_POINT_DEF(ERRSIM_CLONE_CREATE_TENANT_ERROR); int ObCloneScheduler::clone_create_tenant(const share::ObCloneJob &job) { int ret = OB_SUCCESS; + DEBUG_SYNC(HANG_IN_CLONE_SYS_CREATE_TENANT); obrpc::ObCreateTenantArg arg; uint64_t clone_tenant_id = job.get_clone_tenant_id(); const uint64_t tenant_id = job.get_tenant_id(); @@ -647,6 +652,7 @@ ERRSIM_POINT_DEF(ERRSIM_CLONE_WAIT_CREATE_TENANT_ERROR); int ObCloneScheduler::clone_wait_tenant_restore_finish(const ObCloneJob &job) { int ret = OB_SUCCESS; + DEBUG_SYNC(HANG_IN_CLONE_SYS_WAIT_TENANT_RESTORE_FINISH); bool user_finished = false; ObTenantCloneTableOperator clone_op; @@ -727,6 +733,7 @@ ERRSIM_POINT_DEF(ERRSIM_CLONE_RELEASE_RESOURCE_ERROR); int ObCloneScheduler::clone_release_resource(const share::ObCloneJob &job) { int ret = OB_SUCCESS; + DEBUG_SYNC(HANG_IN_CLONE_SYS_RELEASE_RESOURCE); const uint64_t tenant_id = job.get_tenant_id(); const uint64_t source_tenant_id = job.get_source_tenant_id(); const ObTenantSnapshotID snapshot_id = job.get_tenant_snapshot_id(); @@ -770,6 +777,7 @@ ERRSIM_POINT_DEF(ERRSIM_CLONE_SYS_FINISH_ERROR); int ObCloneScheduler::clone_sys_finish(const share::ObCloneJob &job) { int ret = OB_SUCCESS; + DEBUG_SYNC(HANG_IN_CLONE_SYS_SUCCESS); bool clone_tenant_exist = true; const uint64_t tenant_id = job.get_tenant_id(); //sys tenant id const uint64_t clone_tenant_id = job.get_clone_tenant_id(); @@ -1172,6 +1180,7 @@ ERRSIM_POINT_DEF(ERRSIM_CLONE_RECYCLE_FAILED_JOB_ERROR); int ObCloneScheduler::clone_recycle_failed_job(const share::ObCloneJob &job) { int ret = OB_SUCCESS; + DEBUG_SYNC(HANG_IN_CLONE_SYS_FAILED_STATUS); const uint64_t tenant_id = job.get_tenant_id(); const uint64_t source_tenant_id = job.get_source_tenant_id(); const ObTenantCloneStatus job_status = job.get_status(); diff --git a/src/share/ob_debug_sync_point.h b/src/share/ob_debug_sync_point.h index d914b07983..b9ef358be6 100755 --- a/src/share/ob_debug_sync_point.h +++ b/src/share/ob_debug_sync_point.h @@ -576,6 +576,15 @@ class ObString; ACT(BEFORE_CHECK_TTL_TASK_FINISH,)\ ACT(BEFORE_TTL_SCHEDULER_RUN,)\ ACT(BEFORE_MERGE_BACKUP_META_INFO,)\ + ACT(HANG_IN_CLONE_SYS_LOCK,)\ + ACT(HANG_IN_CLONE_SYS_CREATE_INNER_RESOURCE_POOL,)\ + ACT(HANG_IN_CLONE_SYS_CREATE_SNAPSHOT,)\ + ACT(HANG_IN_CLONE_SYS_WAIT_CREATE_SNAPSHOT,)\ + ACT(HANG_IN_CLONE_SYS_CREATE_TENANT,)\ + ACT(HANG_IN_CLONE_SYS_WAIT_TENANT_RESTORE_FINISH,)\ + ACT(HANG_IN_CLONE_SYS_RELEASE_RESOURCE,)\ + ACT(HANG_IN_CLONE_SYS_SUCCESS,)\ + ACT(HANG_IN_CLONE_SYS_FAILED_STATUS,)\ ACT(MAX_DEBUG_SYNC_POINT,) DECLARE_ENUM(ObDebugSyncPoint, debug_sync_point, OB_DEBUG_SYNC_POINT_DEF);