[CP] alter server_cpu_quota_max/server_cpu_quota_min dynamic_effective
This commit is contained in:
@ -683,24 +683,39 @@ int ObMultiTenant::create_hidden_sys_tenant()
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
const uint64_t tenant_id = OB_SYS_TENANT_ID;
|
||||
omt::ObTenant *tenant;
|
||||
omt::ObTenant *tenant = nullptr;
|
||||
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));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObMultiTenant::update_hidden_sys_tenant()
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
const uint64_t tenant_id = OB_SYS_TENANT_ID;
|
||||
omt::ObTenant *tenant = nullptr;
|
||||
ObTenantMeta meta;
|
||||
if (OB_FAIL(get_tenant(tenant_id, tenant))) { // sys tenant will not be deleted
|
||||
LOG_WARN("failed to get sys tenant", K(ret));
|
||||
} else if (OB_FAIL(construct_meta_for_hidden_sys(meta))) {
|
||||
LOG_ERROR("fail to construct meta", 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");
|
||||
int64_t bucket_lock_idx = -1;
|
||||
bool lock_succ = false;
|
||||
if (OB_FAIL(bucket_lock_.wrlock(bucket_lock_idx = get_tenant_lock_bucket_idx(tenant_id)))) {
|
||||
LOG_WARN("fail to try_wrlock for update tenant unit", K(ret), K(tenant_id), K(bucket_lock_idx));
|
||||
} else if (FALSE_IT(lock_succ = true)) {
|
||||
} else if (!tenant->is_hidden() || meta.unit_ == tenant->get_unit()) {
|
||||
// do nothing
|
||||
} else if (OB_FAIL(update_tenant_unit_no_lock(meta.unit_))) {
|
||||
LOG_WARN("fail to update tenant unit", K(ret), K(tenant_id));
|
||||
}
|
||||
if (lock_succ) {
|
||||
bucket_lock_.unlock(bucket_lock_idx);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user