From fd83ae3db98a7532e3b70fe2c0a5f90f78b4b8f7 Mon Sep 17 00:00:00 2001 From: wxhwang Date: Fri, 9 Feb 2024 03:45:07 +0000 Subject: [PATCH] [CP] fix cancel recover table hang after aux tenant has been dropped --- src/rootserver/restore/ob_import_table_job_scheduler.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/rootserver/restore/ob_import_table_job_scheduler.cpp b/src/rootserver/restore/ob_import_table_job_scheduler.cpp index 65605af152..24c8053c0f 100644 --- a/src/rootserver/restore/ob_import_table_job_scheduler.cpp +++ b/src/rootserver/restore/ob_import_table_job_scheduler.cpp @@ -121,7 +121,10 @@ int ObImportTableJobScheduler::check_compatible_() const int ObImportTableJobScheduler::process_(share::ObImportTableJob &job) { int ret = OB_SUCCESS; - if (OB_FAIL(wait_src_tenant_schema_refreshed_(job.get_src_tenant_id()))) { + bool is_dropped = false; + if (OB_FAIL(schema_service_->check_if_tenant_has_been_dropped(job.get_src_tenant_id(), is_dropped))) { + LOG_WARN("failed to check if tenant has been dropped", K(ret), "tenant_id", job.get_src_tenant_id()); + } else if (!is_dropped && OB_FAIL(wait_src_tenant_schema_refreshed_(job.get_src_tenant_id()))) { if (OB_SCHEMA_EAGAIN != ret) { LOG_WARN("failed to wait src tenant schema refreshed", K(ret), K(job)); }