From ff1e2ec0f3f4e78081185eaf9da368372b4511b8 Mon Sep 17 00:00:00 2001 From: obdev Date: Sat, 28 Jan 2023 18:44:34 +0800 Subject: [PATCH] fix ddl task blocks RS in refresh schema version. --- src/rootserver/ddl_task/ob_ddl_task.cpp | 4 +--- src/share/ob_ddl_task_executor.h | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/rootserver/ddl_task/ob_ddl_task.cpp b/src/rootserver/ddl_task/ob_ddl_task.cpp index 4b5510362c..1781012f7e 100644 --- a/src/rootserver/ddl_task/ob_ddl_task.cpp +++ b/src/rootserver/ddl_task/ob_ddl_task.cpp @@ -918,9 +918,7 @@ int ObDDLTask::refresh_schema_version() } else if (schema_version_ > 0 && schema_version_ != UINT64_MAX) { ObMultiVersionSchemaService &schema_service = ObMultiVersionSchemaService::get_instance(); int64_t refreshed_schema_version = 0; - if (OB_FAIL(schema_service.async_refresh_schema(tenant_id_, schema_version_))) { - LOG_WARN("async refresh schema version failed", K(ret), K(tenant_id_), K(schema_version_)); - } else if (OB_FAIL(schema_service.get_tenant_refreshed_schema_version(tenant_id_, refreshed_schema_version))) { + if (OB_FAIL(schema_service.get_tenant_refreshed_schema_version(tenant_id_, refreshed_schema_version))) { LOG_WARN("get refreshed schema version failed", K(ret), K(tenant_id_)); } else if (refreshed_schema_version < schema_version_) { ret = OB_SCHEMA_EAGAIN; diff --git a/src/share/ob_ddl_task_executor.h b/src/share/ob_ddl_task_executor.h index 4dc92a7619..928c6aaffd 100644 --- a/src/share/ob_ddl_task_executor.h +++ b/src/share/ob_ddl_task_executor.h @@ -81,7 +81,7 @@ private: || common::OB_ERR_EXCLUSIVE_LOCK_CONFLICT_NOWAIT == ret_code || common::OB_TRANS_STMT_NEED_RETRY == ret_code || common::OB_SCHEMA_NOT_UPTODATE == ret_code || common::OB_TRANSACTION_SET_VIOLATION == ret_code || common::OB_TRANS_CANNOT_SERIALIZE == ret_code || common::OB_GTI_NOT_READY == ret_code || common::OB_TRANS_WEAK_READ_VERSION_NOT_READY == ret_code || common::OB_REPLICA_NOT_READABLE == ret_code || common::OB_ERR_INSUFFICIENT_PX_WORKER == ret_code - || common::OB_EXCEED_MEM_LIMIT == ret_code; + || common::OB_EXCEED_MEM_LIMIT == ret_code || common::OB_INACTIVE_SQL_CLIENT == ret_code || common::OB_INACTIVE_RPC_PROXY == ret_code; } static bool is_not_exist(const int ret_code) { return common::OB_LS_NOT_EXIST == ret_code || common::OB_TABLET_NOT_EXIST == ret_code || common::OB_TENANT_NOT_EXIST == ret_code