hadoop-yarn-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jl...@apache.org
Subject svn commit: r1588546 - in /hadoop/common/trunk/hadoop-yarn-project: CHANGES.txt hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c
Date Fri, 18 Apr 2014 19:24:14 GMT
Author: jlowe
Date: Fri Apr 18 19:24:13 2014
New Revision: 1588546

URL: http://svn.apache.org/r1588546
Log:
YARN-1940. deleteAsUser() terminates early without deleting more files on error. Contributed
by Rushabh S Shah

Modified:
    hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt
    hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c

Modified: hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt?rev=1588546&r1=1588545&r2=1588546&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt Fri Apr 18 19:24:13 2014
@@ -68,6 +68,9 @@ Release 2.5.0 - UNRELEASED
     YARN-1784. TestContainerAllocation assumes CapacityScheduler.
     (Robert Kanter via kasha)
 
+    YARN-1940. deleteAsUser() terminates early without deleting more files on
+    error (Rushabh S Shah via jlowe)
+
 Release 2.4.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

Modified: hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c?rev=1588546&r1=1588545&r2=1588546&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c
(original)
+++ hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c
Fri Apr 18 19:24:13 2014
@@ -1082,6 +1082,7 @@ static int delete_path(const char *full_
     FTS* tree = fts_open(paths, FTS_PHYSICAL | FTS_XDEV, NULL);
     FTSENT* entry = NULL;
     int ret = 0;
+    int ret_errno = 0;
 
     if (tree == NULL) {
       fprintf(LOGFILE,
@@ -1099,7 +1100,13 @@ static int delete_path(const char *full_
           if (rmdir(entry->fts_accpath) != 0) {
             fprintf(LOGFILE, "Couldn't delete directory %s - %s\n", 
                     entry->fts_path, strerror(errno));
-            exit_code = -1;
+            if (errno == EROFS) {
+              exit_code = -1;
+            }
+            // record the first errno
+            if (errno != ENOENT && ret_errno == 0) {
+              ret_errno = errno;
+            }
           }
         }
         break;
@@ -1111,7 +1118,13 @@ static int delete_path(const char *full_
         if (unlink(entry->fts_accpath) != 0) {
           fprintf(LOGFILE, "Couldn't delete file %s - %s\n", entry->fts_path,
                   strerror(errno));
-          exit_code = -1;
+          if (errno == EROFS) {
+            exit_code = -1;
+          }
+          // record the first errno
+          if (errno != ENOENT && ret_errno == 0) {
+            ret_errno = errno;
+          }
         }
         break;
 
@@ -1154,6 +1167,9 @@ static int delete_path(const char *full_
       }
     }
     ret = fts_close(tree);
+    if (ret_errno != 0) {
+      exit_code = -1;
+    }
     if (exit_code == 0 && ret != 0) {
       fprintf(LOGFILE, "Error in fts_close while deleting %s\n", full_path);
       exit_code = -1;



Mime
View raw message