diff --git a/deps/oblib/src/lib/ob_define.h b/deps/oblib/src/lib/ob_define.h index 25c1432343..adae82dcbf 100644 --- a/deps/oblib/src/lib/ob_define.h +++ b/deps/oblib/src/lib/ob_define.h @@ -183,6 +183,12 @@ OB_INLINE bool is_sys_group(const int64_t group_id) return group_id >= SYS_RESOURCE_GROUP_START_ID && group_id <= SYS_RESOURCE_GROUP_START_ID + SYS_RESOURCE_GROUP_CNT; } +OB_INLINE bool is_valid_resource_group(const int64_t group_id) +{ + //other group or user group + return group_id == 0 || (group_id >= USER_RESOURCE_GROUP_START_ID && group_id <= USER_RESOURCE_GROUP_END_ID); +} + // See ObDeviceHealthStatus for more information const int64_t OB_MAX_DEVICE_HEALTH_STATUS_STR_LENGTH = 20; diff --git a/src/share/io/ob_io_manager.cpp b/src/share/io/ob_io_manager.cpp index 4bbac3e69b..dd1197e74d 100644 --- a/src/share/io/ob_io_manager.cpp +++ b/src/share/io/ob_io_manager.cpp @@ -1012,7 +1012,7 @@ int ObTenantIOManager::modify_io_config(const uint64_t group_id, } else { uint64_t index = INT64_MAX; DRWLock::WRLockGuard guard(io_config_lock_); - if (OB_UNLIKELY(!is_user_group(group_id))) { + if (OB_UNLIKELY(!is_valid_resource_group(group_id))) { ret = OB_INVALID_CONFIG; LOG_WARN("invalid group id", K(ret), K(tenant_id_), K(group_id)); } else if (min_percent < 0 || min_percent > 100 ||