From 28e38428e42bdc48063f570598988645bb5370bc Mon Sep 17 00:00:00 2001 From: wxhwang Date: Mon, 6 Sep 2021 19:54:14 +0800 Subject: [PATCH] patch to open source --- src/rootserver/ob_root_backup.cpp | 4 ++++ src/share/ob_debug_sync_point.h | 1 + src/storage/ob_partition_backup.cpp | 3 +++ src/storage/ob_partition_service.cpp | 12 +----------- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/rootserver/ob_root_backup.cpp b/src/rootserver/ob_root_backup.cpp index be70a8c0ec..52ae050775 100644 --- a/src/rootserver/ob_root_backup.cpp +++ b/src/rootserver/ob_root_backup.cpp @@ -2548,6 +2548,10 @@ int ObRootBackup::check_tenant_can_backup(const uint64_t tenant_id, ObSchemaGett LOG_WARN("failed to get tenant info", K(ret), K(tenant_id)); } else if (tenant_schema->is_restore()) { can_backup = false; + LOG_WARN("tenant is doing restore", K(tenant_id)); + } else if (tenant_schema->is_dropping()) { + can_backup = false; + LOG_WARN("tenant is dropping", K(tenant_id)); } return ret; } diff --git a/src/share/ob_debug_sync_point.h b/src/share/ob_debug_sync_point.h index e82f41ae4e..1f2a35a04e 100644 --- a/src/share/ob_debug_sync_point.h +++ b/src/share/ob_debug_sync_point.h @@ -210,6 +210,7 @@ class ObString; ACT(BEFORE_PHYSICAL_RESTORE_REBUILD_INDEX, ) \ ACT(BEFORE_PHYSICAL_RESTORE_POST_CHECK, ) \ ACT(BACKUP_BEFROE_CHOOSE_SRC, ) \ + ACT(BACKUP_BEFROE_BUILD_TABLE_PARTITION_INFO,) \ ACT(HANG_UPDATE_RS_LIST, ) \ ACT(PARTITION_BACKUP_TASK_BEFORE_ADD_TASK_IN_MGR, ) \ ACT(HANG_BEFORE_RESOLVER_FINISH, ) \ diff --git a/src/storage/ob_partition_backup.cpp b/src/storage/ob_partition_backup.cpp index ddada70cea..48fe6cc4d6 100644 --- a/src/storage/ob_partition_backup.cpp +++ b/src/storage/ob_partition_backup.cpp @@ -1541,6 +1541,8 @@ int ObBackupPrepareTask::build_table_partition_info( ObArray table_id_list; ObPGPartitionMetaInfo partition_meta_info; + DEBUG_SYNC(BACKUP_BEFROE_BUILD_TABLE_PARTITION_INFO); + if (OB_UNLIKELY(!is_inited_)) { ret = OB_NOT_INIT; LOG_WARN("migrate prepare task do not init", K(ret)); @@ -1572,6 +1574,7 @@ int ObBackupPrepareTask::build_table_partition_info( } } } + return ret; } diff --git a/src/storage/ob_partition_service.cpp b/src/storage/ob_partition_service.cpp index 6676e88ae5..5236b4a698 100644 --- a/src/storage/ob_partition_service.cpp +++ b/src/storage/ob_partition_service.cpp @@ -6037,17 +6037,7 @@ int ObPartitionService::backup_replica_batch(const obrpc::ObBackupBatchArg& arg) replica_op_arg.cluster_id_ = GCONF.cluster_id; replica_op_arg.type_ = type; replica_op_arg.switch_epoch_ = single_arg.switch_epoch_; - ObIPartitionGroupGuard guard; - ObIPartitionGroup* partition = NULL; - if (OB_FAIL(get_partition(single_arg.key_, guard))) { - STORAGE_LOG(WARN, "get partition failed", K(single_arg), K(ret)); - } else if (OB_ISNULL(guard.get_partition_group())) { - ret = OB_ENTRY_NOT_EXIST; - STORAGE_LOG(WARN, "partition not exist, maybe migrate out", K(single_arg), K(ret)); - } else if (OB_ISNULL(partition = guard.get_partition_group())) { - ret = OB_ERR_UNEXPECTED; - STORAGE_LOG(WARN, "partition should not be NULL", K(ret), K(single_arg)); - } else if (OB_FAIL(task_list.push_back(replica_op_arg))) { + if (OB_FAIL(task_list.push_back(replica_op_arg))) { LOG_WARN("failed to push replica op arg into array", K(ret), K(replica_op_arg)); } } -- GitLab