From 789419e6cf20de0d700a7a7b81565ef8a4bd0ba5 Mon Sep 17 00:00:00 2001 From: zhjc1124 Date: Wed, 20 Sep 2023 17:32:29 +0000 Subject: [PATCH] [CP] fix server_cpu_quota_max/server_cpu_quota_min modification not effective --- src/observer/ob_server.cpp | 13 ++----------- src/observer/omt/ob_multi_tenant.cpp | 20 ++++++++++++++++---- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/observer/ob_server.cpp b/src/observer/ob_server.cpp index cb3e35ec3..0862b8645 100644 --- a/src/observer/ob_server.cpp +++ b/src/observer/ob_server.cpp @@ -1092,18 +1092,9 @@ int ObServer::start() int ObServer::try_create_hidden_sys() { int ret = OB_SUCCESS; - const uint64_t tenant_id = OB_SYS_TENANT_ID; - omt::ObTenant *tenant; - if (OB_FAIL(multi_tenant_.get_tenant(tenant_id, tenant))) { - ret = OB_SUCCESS; - if (OB_FAIL(multi_tenant_.create_hidden_sys_tenant())) { - LOG_ERROR("fail to create hidden sys tenant", KR(ret)); - } - LOG_INFO("finish create hidden sys", KR(ret)); - } else { - LOG_INFO("sys tenant has been created, no need create hidden sys"); + if (OB_FAIL(multi_tenant_.create_hidden_sys_tenant())) { + LOG_ERROR("fail to create hidden sys tenant", KR(ret)); } - return ret; } diff --git a/src/observer/omt/ob_multi_tenant.cpp b/src/observer/omt/ob_multi_tenant.cpp index 6dc675d8b..6191a1b46 100644 --- a/src/observer/omt/ob_multi_tenant.cpp +++ b/src/observer/omt/ob_multi_tenant.cpp @@ -683,14 +683,26 @@ int ObMultiTenant::create_hidden_sys_tenant() { int ret = OB_SUCCESS; const uint64_t tenant_id = OB_SYS_TENANT_ID; + omt::ObTenant *tenant; ObTenantMeta meta; - if (OB_FAIL(construct_meta_for_hidden_sys(meta))) { LOG_ERROR("fail to construct meta", K(ret)); - } else if (OB_FAIL(create_tenant(meta, true/* write_slog*/))) { - LOG_ERROR("create hidden sys tenant failed", K(ret)); + } else { + if (OB_FAIL(get_tenant(tenant_id, tenant))) { + ret = OB_SUCCESS; + if (OB_FAIL(create_tenant(meta, true/* write_slog */))) { + LOG_ERROR("create hidden sys tenant failed", K(ret)); + } + LOG_INFO("finish create hidden sys", KR(ret)); + } else if(tenant->is_hidden()){ + if (OB_SUCC(ret) && !(meta.unit_ == tenant->get_unit())) { + if (OB_FAIL(GCTX.omt_->update_tenant_unit_no_lock(meta.unit_))) { + LOG_WARN("fail to update tenant unit", K(ret), K(tenant_id)); + } + } + LOG_INFO("sys tenant has been created, no need create hidden sys"); + } } - return ret; }