[BUGFIX] drop tenant raise core
This commit is contained in:
@ -25352,8 +25352,11 @@ int ObDDLService::drop_tenant(const ObDropTenantArg &arg)
|
|||||||
FLOG_INFO("is standby tenant, need drop force", K(tenant_info));
|
FLOG_INFO("is standby tenant, need drop force", K(tenant_info));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (OB_FAIL(ret)) {
|
||||||
if (FAILEDx(schema_guard.get_schema_version(OB_SYS_TENANT_ID, refreshed_schema_version))) {
|
// ignore
|
||||||
|
} else if (OB_ISNULL(tenant_schema)) {
|
||||||
|
// We need to ignore the drop tenant if exists statement in the case that the tenant has already been deleted
|
||||||
|
} else if (OB_FAIL(schema_guard.get_schema_version(OB_SYS_TENANT_ID, refreshed_schema_version))) {
|
||||||
LOG_WARN("failed to get tenant schema version", KR(ret));
|
LOG_WARN("failed to get tenant schema version", KR(ret));
|
||||||
} else if (OB_FAIL(trans.start(sql_proxy_, OB_SYS_TENANT_ID, refreshed_schema_version))) {
|
} else if (OB_FAIL(trans.start(sql_proxy_, OB_SYS_TENANT_ID, refreshed_schema_version))) {
|
||||||
LOG_WARN("start transaction failed", KR(ret), K(user_tenant_id), K(refreshed_schema_version));
|
LOG_WARN("start transaction failed", KR(ret), K(user_tenant_id), K(refreshed_schema_version));
|
||||||
|
|||||||
@ -561,6 +561,7 @@ class ObString;
|
|||||||
ACT(BEFORE_CHECK_LS_TRANSFER_SCN_FOR_STANDBY,)\
|
ACT(BEFORE_CHECK_LS_TRANSFER_SCN_FOR_STANDBY,)\
|
||||||
ACT(BEFORE_GET_CONFIG_VERSION_AND_TRANSFER_SCN,)\
|
ACT(BEFORE_GET_CONFIG_VERSION_AND_TRANSFER_SCN,)\
|
||||||
ACT(LS_GC_BEFORE_OFFLINE,)\
|
ACT(LS_GC_BEFORE_OFFLINE,)\
|
||||||
|
ACT(BEFORE_DROP_TENANT,)\
|
||||||
ACT(MAX_DEBUG_SYNC_POINT,)
|
ACT(MAX_DEBUG_SYNC_POINT,)
|
||||||
|
|
||||||
DECLARE_ENUM(ObDebugSyncPoint, debug_sync_point, OB_DEBUG_SYNC_POINT_DEF);
|
DECLARE_ENUM(ObDebugSyncPoint, debug_sync_point, OB_DEBUG_SYNC_POINT_DEF);
|
||||||
|
|||||||
@ -777,11 +777,14 @@ int ObDropTenantExecutor::execute(ObExecContext &ctx, ObDropTenantStmt &stmt)
|
|||||||
LOG_USER_ERROR(OB_TENANT_NOT_EXIST, drop_tenant_arg.tenant_name_.length(), drop_tenant_arg.tenant_name_.ptr());
|
LOG_USER_ERROR(OB_TENANT_NOT_EXIST, drop_tenant_arg.tenant_name_.length(), drop_tenant_arg.tenant_name_.ptr());
|
||||||
LOG_WARN("tenant not exist", KR(ret), K(drop_tenant_arg));
|
LOG_WARN("tenant not exist", KR(ret), K(drop_tenant_arg));
|
||||||
}
|
}
|
||||||
} else if (OB_FAIL(common_rpc_proxy->drop_tenant(drop_tenant_arg))) {
|
} else {
|
||||||
LOG_WARN("rpc proxy drop tenant failed", K(ret));
|
DEBUG_SYNC(BEFORE_DROP_TENANT);
|
||||||
} else if (OB_FAIL(check_tenant_has_been_dropped_(
|
if (OB_FAIL(common_rpc_proxy->drop_tenant(drop_tenant_arg))) {
|
||||||
ctx, stmt, tenant_schema->get_tenant_id()))) {
|
LOG_WARN("rpc proxy drop tenant failed", K(ret));
|
||||||
LOG_WARN("fail to check tenant has been dropped", KR(ret), KPC(tenant_schema));
|
} else if (OB_FAIL(check_tenant_has_been_dropped_(
|
||||||
|
ctx, stmt, tenant_schema->get_tenant_id()))) {
|
||||||
|
LOG_WARN("fail to check tenant has been dropped", KR(ret), KPC(tenant_schema));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user