You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by eh...@apache.org on 2018/08/10 11:34:56 UTC

[02/50] [abbrv] hadoop git commit: YARN-8629. Container cleanup fails while trying to delete Cgroups. (Suma Shivaprasad via wangda)

YARN-8629. Container cleanup fails while trying to delete Cgroups. (Suma Shivaprasad via wangda)

Change-Id: I392ef4f8baa84d5d7b1f2e438c560b5426b6d4f2


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/d4258fca
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/d4258fca
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/d4258fca

Branch: refs/heads/HDFS-12090
Commit: d4258fcad71eabe2de3cf829cde36840200ab9b6
Parents: b1a59b1
Author: Wangda Tan <wa...@apache.org>
Authored: Tue Aug 7 12:36:55 2018 -0700
Committer: Wangda Tan <wa...@apache.org>
Committed: Tue Aug 7 12:36:55 2018 -0700

----------------------------------------------------------------------
 .../linux/resources/CGroupsHandlerImpl.java     | 26 ++++++++++++--------
 1 file changed, 16 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/d4258fca/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/CGroupsHandlerImpl.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/CGroupsHandlerImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/CGroupsHandlerImpl.java
index c3800b6..a547e8f 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/CGroupsHandlerImpl.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/CGroupsHandlerImpl.java
@@ -504,23 +504,29 @@ class CGroupsHandlerImpl implements CGroupsHandler {
   private boolean checkAndDeleteCgroup(File cgf) throws InterruptedException {
     boolean deleted = false;
     // FileInputStream in = null;
-    try (FileInputStream in = new FileInputStream(cgf + "/tasks")) {
-      if (in.read() == -1) {
+    if ( cgf.exists() ) {
+      try (FileInputStream in = new FileInputStream(cgf + "/tasks")) {
+        if (in.read() == -1) {
         /*
          * "tasks" file is empty, sleep a bit more and then try to delete the
          * cgroup. Some versions of linux will occasionally panic due to a race
          * condition in this area, hence the paranoia.
          */
-        Thread.sleep(deleteCGroupDelay);
-        deleted = cgf.delete();
-        if (!deleted) {
-          LOG.warn("Failed attempt to delete cgroup: " + cgf);
+          Thread.sleep(deleteCGroupDelay);
+          deleted = cgf.delete();
+          if (!deleted) {
+            LOG.warn("Failed attempt to delete cgroup: " + cgf);
+          }
+        } else{
+          logLineFromTasksFile(cgf);
         }
-      } else {
-        logLineFromTasksFile(cgf);
+      } catch (IOException e) {
+        LOG.warn("Failed to read cgroup tasks file. ", e);
       }
-    } catch (IOException e) {
-      LOG.warn("Failed to read cgroup tasks file. ", e);
+    } else {
+      LOG.info("Parent Cgroups directory {} does not exist. Skipping "
+          + "deletion", cgf.getPath());
+      deleted = true;
     }
     return deleted;
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org