From 0b6c9733636219eb956eb8bf3239c3cfb01a4a8e Mon Sep 17 00:00:00 2001 From: obdev Date: Thu, 27 Oct 2022 02:37:36 +0000 Subject: [PATCH] Retry when drop column failed due to rpc error --- src/rootserver/ddl_task/ob_ddl_single_replica_executor.cpp | 2 +- src/share/ob_ddl_task_executor.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rootserver/ddl_task/ob_ddl_single_replica_executor.cpp b/src/rootserver/ddl_task/ob_ddl_single_replica_executor.cpp index 26750a4b45..bf0b0a9b76 100644 --- a/src/rootserver/ddl_task/ob_ddl_single_replica_executor.cpp +++ b/src/rootserver/ddl_task/ob_ddl_single_replica_executor.cpp @@ -148,7 +148,7 @@ int ObDDLSingleReplicaExecutor::schedule_task() } else if (OB_SUCCESS == ret_array.at(i)) { build_infos.at(idx).stat_ = ObPartitionBuildStat::BUILD_REQUESTED; LOG_INFO("rpc send successfully", K(source_tablet_ids_.at(idx)), K(dest_tablet_ids_.at(idx))); - } else if (OB_HASH_EXIST == ret_array.at(i) || OB_TIMEOUT == ret_array.at(i) || OB_EAGAIN == ret_array.at(i)) { + } else if (ObIDDLTask::in_ddl_retry_white_list(ret_array.at(i))) { build_infos.at(idx).stat_ = ObPartitionBuildStat::BUILD_RETRY; LOG_INFO("task need retry", K(ret_array.at(i)), K(source_tablet_ids_.at(idx)), K(dest_tablet_ids_.at(idx))); } else { diff --git a/src/share/ob_ddl_task_executor.h b/src/share/ob_ddl_task_executor.h index c709dd3461..9afecaa0aa 100644 --- a/src/share/ob_ddl_task_executor.h +++ b/src/share/ob_ddl_task_executor.h @@ -57,7 +57,7 @@ public: || common::OB_TRANS_STMT_TIMEOUT == ret_code || common::OB_RS_NOT_MASTER == ret_code || OB_TRANS_NEED_ROLLBACK == ret_code || common::OB_SCHEMA_EAGAIN == ret_code || common::OB_GTS_NOT_READY == ret_code || common::OB_ERR_SHARED_LOCK_CONFLICT == ret_code || common::OB_PARTITION_NOT_EXIST == ret_code || common::OB_PG_IS_REMOVED == ret_code || common::OB_TENANT_NOT_EXIST == ret_code - || common::OB_RPC_SEND_ERROR == ret_code || common::OB_DDL_SCHEMA_VERSION_NOT_MATCH == ret_code; + || common::OB_RPC_SEND_ERROR == ret_code || common::OB_RPC_CONNECT_ERROR == ret_code || common::OB_DDL_SCHEMA_VERSION_NOT_MATCH == ret_code; } static bool in_ddl_retry_black_list(const int ret_code) {