From 76a8b93a432190c49b670f78cc0ac0eee7cf9ee7 Mon Sep 17 00:00:00 2001 From: wxhwang Date: Thu, 23 Nov 2023 13:40:52 +0000 Subject: [PATCH] [CP] fix execute import ddl but return task exist --- src/rootserver/restore/ob_import_table_job_scheduler.cpp | 8 +++++++- 1 file changed, 7 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 cf4cfdd42..2730eb037 100644 --- a/src/rootserver/restore/ob_import_table_job_scheduler.cpp +++ b/src/rootserver/restore/ob_import_table_job_scheduler.cpp @@ -624,7 +624,13 @@ int ObImportTableTaskScheduler::gen_import_ddl_task_() } else if (OB_FAIL(construct_import_table_arg_(arg))) { LOG_WARN("failed to construct import table arg", K(ret)); } else if (OB_FAIL(ObDDLServerClient::execute_recover_restore_table(arg))) { - LOG_WARN("fail to start import table", K(ret), K(arg)); + if (OB_ENTRY_EXIST == ret) { + // old and new leader both execute import ddl at the same time. + ret = OB_EAGAIN; + LOG_WARN("import ddl task exist, try again", K(ret), K(arg)); + } else { + LOG_WARN("fail to start import table", K(ret), K(arg)); + } } else { LOG_INFO("[IMPORT_TABLE]succeed execute_recover_restore_table", KPC_(import_task), K(arg)); }