Benjamin Teke created YARN-11690: ------------------------------------ Summary: Update container executor to use CGROUP2_SUPER_MAGIC in cgroup 2 scenarios Key: YARN-11690 URL: https://issues.apache.org/jira/browse/YARN-11690 Project: Hadoop YARN Issue Type: Sub-task Components: container-executor Reporter: Benjamin Teke Assignee: Benjamin Teke
The container executor function {{write_pid_to_cgroup_as_root}} writes the PID of the newly launched container to the correct cgroup.procs file. However it checks if the file is mounted on a cgroup filesystem, and does that check using the magic number, which differs for v1 and v2. This should handle v1 or v2 filesystems as well. {code:java} /** * Write the pid of the current process to the cgroup file. * cgroup_file: Path to cgroup file where pid needs to be written to. */ static int write_pid_to_cgroup_as_root(const char* cgroup_file, pid_t pid) { int rc = 0; uid_t user = geteuid(); gid_t group = getegid(); if (change_effective_user(0, 0) != 0) { rc = -1; goto cleanup; } // statfs struct statfs buf; if (statfs(cgroup_file, &buf) == -1) { fprintf(LOGFILE, "Can't statfs file %s as node manager - %s\n", cgroup_file, strerror(errno)); rc = -1; goto cleanup; } else if (buf.f_type != CGROUP_SUPER_MAGIC) { fprintf(LOGFILE, "Pid file %s is not located on cgroup filesystem\n", cgroup_file); rc = -1; goto cleanup; } {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org