You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-commits@hadoop.apache.org by ma...@apache.org on 2011/06/16 18:47:11 UTC
svn commit: r1136540 - in /hadoop/common/branches/MR-279/mapreduce:
CHANGES.txt
yarn/yarn-server/yarn-server-nodemanager/src/main/c/container-executor/impl/container-executor.c
Author: mahadev
Date: Thu Jun 16 16:47:10 2011
New Revision: 1136540
URL: http://svn.apache.org/viewvc?rev=1136540&view=rev
Log:
Fix race between multiple localizers on single node (chris douglas via mahadev)
Modified:
hadoop/common/branches/MR-279/mapreduce/CHANGES.txt
hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-nodemanager/src/main/c/container-executor/impl/container-executor.c
Modified: hadoop/common/branches/MR-279/mapreduce/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/CHANGES.txt?rev=1136540&r1=1136539&r2=1136540&view=diff
==============================================================================
--- hadoop/common/branches/MR-279/mapreduce/CHANGES.txt (original)
+++ hadoop/common/branches/MR-279/mapreduce/CHANGES.txt Thu Jun 16 16:47:10 2011
@@ -5,6 +5,8 @@ Trunk (unreleased changes)
MAPREDUCE-279
+ Fix race between multiple localizers on single node (chris douglas via mahadev)
+
Bug fix to set correct state on containers so as to avoid duplicate
containers from RM to AM. (vinodkv)
Modified: hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-nodemanager/src/main/c/container-executor/impl/container-executor.c
URL: http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-nodemanager/src/main/c/container-executor/impl/container-executor.c?rev=1136540&r1=1136539&r2=1136540&view=diff
==============================================================================
--- hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-nodemanager/src/main/c/container-executor/impl/container-executor.c (original)
+++ hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-nodemanager/src/main/c/container-executor/impl/container-executor.c Thu Jun 16 16:47:10 2011
@@ -519,30 +519,17 @@ int create_directory_for_user(const char
int ret = 0;
ret = change_effective_user(tt_uid, tt_gid);
if (ret == 0) {
- if (mkdir(path, permissions) == 0) {
+ if (0 == mkdir(path, permissions) || EEXIST == errno) {
// need to reassert the group sticky bit
if (chmod(path, permissions) != 0) {
fprintf(LOGFILE, "Can't chmod %s to add the sticky bit - %s\n",
path, strerror(errno));
ret = -1;
} else if (change_owner(path, user, tt_gid) != 0) {
+ fprintf(LOGFILE, "Failed to chown %s to %d:%d: %s\n", path, user, tt_gid,
+ strerror(errno));
ret = -1;
}
- } else if (errno == EEXIST) {
- struct stat file_stat;
- if (stat(path, &file_stat) != 0) {
- fprintf(LOGFILE, "Can't stat directory %s - %s\n", path,
- strerror(errno));
- ret = -1;
- } else {
- if (file_stat.st_uid != user ||
- file_stat.st_gid != tt_gid) {
- fprintf(LOGFILE, "Directory %s owned by wrong user or group. "
- "Expected %d:%d and found %d:%d.\n",
- path, user, tt_gid, file_stat.st_uid, file_stat.st_gid);
- ret = -1;
- }
- }
} else {
fprintf(LOGFILE, "Failed to create directory %s - %s\n", path,
strerror(errno));