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