Skip to content

Commit

Permalink
YARN-8629. Container cleanup fails while trying to delete Cgroups. (S…
Browse files Browse the repository at this point in the history
…uma Shivaprasad via wangda)

Change-Id: I392ef4f8baa84d5d7b1f2e438c560b5426b6d4f2
(cherry picked from commit d4258fc)
  • Loading branch information
wangdatan authored and Pierrotws committed Jan 31, 2024
1 parent 22d2864 commit 029b8d6
Showing 1 changed file with 16 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -504,23 +504,29 @@ private void logLineFromTasksFile(File cgf) {
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;
}
Expand Down

0 comments on commit 029b8d6

Please sign in to comment.