Browse Source

YARN-8384. stdout.txt, stderr.txt logs of a launched docker container is coming with primary group of submit user instead of hadoop. (Eric Yang via wangda)

Change-Id: Idbb2cd250f4f62dc32993e0d3ca3ec5684616baa
(cherry picked from commit 3a6bd775500343632bad5f9c1a2bfacd408f7760)
Wangda Tan 7 years ago
parent
commit
cc460fea2d

+ 2 - 2
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c

@@ -1140,8 +1140,8 @@ char *init_log_path(const char *container_log_dir, const char *logfile) {
   int fd = open(tmp_buffer, O_CREAT | O_WRONLY, permissions);
   int fd = open(tmp_buffer, O_CREAT | O_WRONLY, permissions);
   if (fd >= 0) {
   if (fd >= 0) {
     close(fd);
     close(fd);
-    if (change_owner(tmp_buffer, user_detail->pw_uid, user_detail->pw_gid) != 0) {
-      fprintf(ERRORFILE, "Failed to chown %s to %d:%d: %s\n", tmp_buffer, user_detail->pw_uid, user_detail->pw_gid,
+    if (change_owner(tmp_buffer, user_detail->pw_uid, nm_gid) != 0) {
+      fprintf(ERRORFILE, "Failed to chown %s to %d:%d: %s\n", tmp_buffer, user_detail->pw_uid, nm_gid,
           strerror(errno));
           strerror(errno));
       free(tmp_buffer);
       free(tmp_buffer);
       tmp_buffer = NULL;
       tmp_buffer = NULL;