fix ddl task blocks RS in refresh schema version.
This commit is contained in:
@ -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;
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user