Add obtest about canceling clone job and cloning for oracle tenant
This commit is contained in:
		@ -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();
 | 
			
		||||
 | 
			
		||||
@ -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);
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user