[ 
https://issues.apache.org/jira/browse/YARN-11690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17841100#comment-17841100
 ] 

ASF GitHub Bot commented on YARN-11690:
---------------------------------------

brumi1024 commented on code in PR #6771:
URL: https://github.com/apache/hadoop/pull/6771#discussion_r1580673804


##########
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.h:
##########
@@ -80,6 +80,11 @@ enum operations {
 #define ROOT_VAR_TMP_DIR "private_var_slash_tmp"
 #define COMMAND_FILE_SECTION "command-execution"
 
+// include cgroup2 super magic number if not defined
+#ifndef CGROUP2_SUPER_MAGIC

Review Comment:
   Done.





> 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