From bbc7c2c804e96defddda703f09643e4e7823e8f5 Mon Sep 17 00:00:00 2001 From: zhjc1124 Date: Mon, 13 Nov 2023 12:12:53 +0000 Subject: [PATCH] fix cgroup issues --- deps/oblib/src/lib/ob_define.h | 5 +++++ src/share/resource_manager/ob_cgroup_ctrl.cpp | 3 +++ 2 files changed, 8 insertions(+) diff --git a/deps/oblib/src/lib/ob_define.h b/deps/oblib/src/lib/ob_define.h index c0e5b6d86..ea9dbee26 100644 --- a/deps/oblib/src/lib/ob_define.h +++ b/deps/oblib/src/lib/ob_define.h @@ -1522,6 +1522,11 @@ OB_INLINE bool is_sys_tenant(const uint64_t tenant_id) return OB_SYS_TENANT_ID == tenant_id; } +OB_INLINE bool is_server_tenant(const uint64_t tenant_id) +{ + return OB_SERVER_TENANT_ID == tenant_id; +} + //check whether an tenant_id is virtual OB_INLINE bool is_virtual_tenant_id(const uint64_t tenant_id) { diff --git a/src/share/resource_manager/ob_cgroup_ctrl.cpp b/src/share/resource_manager/ob_cgroup_ctrl.cpp index 232918f6a..b59209adb 100644 --- a/src/share/resource_manager/ob_cgroup_ctrl.cpp +++ b/src/share/resource_manager/ob_cgroup_ctrl.cpp @@ -283,6 +283,9 @@ int ObCgroupCtrl::get_group_path( if (INT64_MAX == group_id) { snprintf(group_path, path_bufsize, "%s/%s", root_cgroup_, tenant_path); + } else if (is_server_tenant(tenant_id)) { + snprintf(group_path, path_bufsize, "%s", + other_cgroup_); } else if (group_id < OBCG_MAXNUM) { ObCgSet &set = ObCgSet::instance(); group_name = const_cast(set.name_of_id(group_id));