[ 
https://issues.apache.org/jira/browse/YARN-11690?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated YARN-11690:
----------------------------------
    Labels: pull-request-available  (was: )

> 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
>            Priority: Major
>              Labels: pull-request-available
>
> 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

Reply via email to