gongxun0928 commented on code in PR #1340:
URL: https://github.com/apache/cloudberry/pull/1340#discussion_r2315520743
##########
gpMgmt/bin/gpcheckresgroupv2impl:
##########
@@ -43,23 +53,49 @@ class CgroupValidationVersionTwo(CgroupValidation):
self.validate_permission("cgroup.procs", "rw")
- self.validate_permission("gpdb/", "rwx")
- self.validate_permission("gpdb/cgroup.procs", "rw")
+ self.validate_permission(self.cgroup_parent + "/", "rwx")
+ self.validate_permission(self.cgroup_parent + "/cgroup.procs", "rw")
+
+ self.validate_permission(self.cgroup_parent + "/cpu.max", "rw")
+ self.validate_permission(self.cgroup_parent + "/cpu.weight", "rw")
+ self.validate_permission(self.cgroup_parent + "/cpu.weight.nice", "rw")
+ self.validate_permission(self.cgroup_parent + "/cpu.stat", "r")
- self.validate_permission("gpdb/cpu.max", "rw")
- self.validate_permission("gpdb/cpu.weight", "rw")
- self.validate_permission("gpdb/cpu.weight.nice", "rw")
- self.validate_permission("gpdb/cpu.stat", "r")
+ self.validate_permission(self.cgroup_parent + "/cpuset.cpus", "rw")
+ self.validate_permission(self.cgroup_parent +
"/cpuset.cpus.partition", "rw")
+ self.validate_permission(self.cgroup_parent + "/cpuset.mems", "rw")
+ self.validate_permission(self.cgroup_parent +
"/cpuset.cpus.effective", "r")
+ self.validate_permission(self.cgroup_parent +
"/cpuset.mems.effective", "r")
- self.validate_permission("gpdb/cpuset.cpus", "rw")
- self.validate_permission("gpdb/cpuset.cpus.partition", "rw")
- self.validate_permission("gpdb/cpuset.mems", "rw")
- self.validate_permission("gpdb/cpuset.cpus.effective", "r")
- self.validate_permission("gpdb/cpuset.mems.effective", "r")
+ self.validate_permission(self.cgroup_parent + "/memory.current", "r")
- self.validate_permission("gpdb/memory.current", "r")
+ self.validate_permission(self.cgroup_parent + "/io.max", "rw")
- self.validate_permission("gpdb/io.max", "rw")
+ def get_cgroup_parent(self):
+ """
+ Get the cgroup parent directory from the database GUC parameter
+ gp_resource_group_cgroup_parent. If unable to connect to database
+ or retrieve the parameter, report error using die function.
+ """
+ try:
+ dburl = dbconn.DbURL()
+ conn = dbconn.connect(dburl, utility=True)
+
+ # Query the GUC parameter value
+ sql = "SHOW gp_resource_group_cgroup_parent"
+ cursor = dbconn.query(conn, sql)
+ result = cursor.fetchone()
+ conn.close()
+
+ if result and result[0]:
+ return result[0]
+ else:
+ self.die("failed to retrieve gp_resource_group_cgroup_parent
parameter from database")
+
+ except DatabaseError as e:
Review Comment:
dbconn.connect throws ConnectionError and pgdb.OperationalError. It seems
useless to catch DatabaseError here. Just keep `except Exception as e:`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]