[CP] Allow tenant=all_user when setting archive_lag_target
This commit is contained in:
@ -2265,12 +2265,29 @@ int ObSetConfigResolver::resolve(const ParseNode &parse_tree)
|
|||||||
affect_all_user,
|
affect_all_user,
|
||||||
affect_all_meta))) {
|
affect_all_meta))) {
|
||||||
LOG_WARN("fail to get reslove tenant", K(ret), "exec_tenant_id", tenant_id);
|
LOG_WARN("fail to get reslove tenant", K(ret), "exec_tenant_id", tenant_id);
|
||||||
} else if (affect_all || affect_all_user || affect_all_meta) {
|
} else if (affect_all || affect_all_meta) {
|
||||||
ret = OB_NOT_SUPPORTED;
|
ret = OB_NOT_SUPPORTED;
|
||||||
LOG_WARN("all/all_user/all_meta is not supported by ALTER SYSTEM SET ARCHILVE_LAG_TARGET",
|
LOG_WARN("all/all_meta is not supported by ALTER SYSTEM SET ARCHIVE_LAG_TARGET",
|
||||||
KR(ret), K(affect_all), K(affect_all_user), K(affect_all_meta));
|
KR(ret), K(affect_all), K(affect_all_user), K(affect_all_meta));
|
||||||
LOG_USER_ERROR(OB_NOT_SUPPORTED,
|
LOG_USER_ERROR(OB_NOT_SUPPORTED,
|
||||||
"use all/all_user/all_meta in 'ALTER SYSTEM SET ARCHILVE_LAG_TARGET' syntax is");
|
"use all/all_meta in 'ALTER SYSTEM SET ARCHIVE_LAG_TARGET' syntax is");
|
||||||
|
} else if (affect_all_user) {
|
||||||
|
ObSchemaGetterGuard schema_guard;
|
||||||
|
ObSArray <uint64_t> all_tenant_ids;
|
||||||
|
if (OB_FAIL(GCTX.schema_service_->get_tenant_schema_guard(tenant_id, schema_guard))) {
|
||||||
|
LOG_WARN("get_schema_guard failed", K(ret));
|
||||||
|
} else if (OB_FAIL(schema_guard.get_tenant_ids(all_tenant_ids))) {
|
||||||
|
LOG_WARN("fail to get tenant id from schema guard", K(ret));
|
||||||
|
} else {
|
||||||
|
ARRAY_FOREACH_X(all_tenant_ids, i, cnt, OB_SUCC(ret)) {
|
||||||
|
const uint64_t tmp_tenant_id = all_tenant_ids.at(i);
|
||||||
|
if (is_user_tenant(tmp_tenant_id)) {
|
||||||
|
if (OB_FAIL(tenant_ids.push_back(tmp_tenant_id))) {
|
||||||
|
LOG_WARN("fail to push back", K(ret), K(tmp_tenant_id));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} else if (tenant_ids.empty()) {
|
} else if (tenant_ids.empty()) {
|
||||||
if (OB_FAIL(tenant_ids.push_back(tenant_id))) {
|
if (OB_FAIL(tenant_ids.push_back(tenant_id))) {
|
||||||
LOG_WARN("fail to push back", K(ret), K(tenant_id));
|
LOG_WARN("fail to push back", K(ret), K(tenant_id));
|
||||||
|
|||||||
Reference in New Issue
Block a user