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 wa...@apache.org on 2018/08/07 19:47:29 UTC
hadoop git commit: YARN-8629. Container cleanup fails while trying to
delete Cgroups. (Suma Shivaprasad via wangda)
Repository: hadoop
Updated Branches:
refs/heads/branch-3.1 947dc3422 -> 450c791ec
YARN-8629. Container cleanup fails while trying to delete Cgroups. (Suma Shivaprasad via wangda)
Change-Id: I392ef4f8baa84d5d7b1f2e438c560b5426b6d4f2
(cherry picked from commit d4258fcad71eabe2de3cf829cde36840200ab9b6)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/450c791e
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/450c791e
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/450c791e
Branch: refs/heads/branch-3.1
Commit: 450c791ecf512bbfe9b0c9d66949933837dfc2da
Parents: 947dc34
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:41: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/450c791e/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 287e171..7a980a6 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