You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2014/04/11 21:53:56 UTC
svn commit: r1586762 -
/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java
Author: cwiklik
Date: Fri Apr 11 19:53:56 2014
New Revision: 1586762
URL: http://svn.apache.org/r1586762
Log:
UIMA-3737 dont remove a cgroup if it has zombie processes as it may lead to a thread hang
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java?rev=1586762&r1=1586761&r2=1586762&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java Fri Apr 11 19:53:56 2014
@@ -182,10 +182,15 @@ public class CGroupsManager {
}
}
}
-
- destroyContainer(cgroupFolder);
- agentLogger.info("cleanupOnStartup", null,
- "--- Agent Removed Empty CGroup:" + cgroupFolder);
+ // Don't remove CGroups if there are zombie processes there. Otherwise, attempt
+ // to remove the CGroup may hang a thread.
+ if ( zombieCount == 0 ) { // no zombies in the container
+ destroyContainer(cgroupFolder);
+ agentLogger.info("cleanupOnStartup", null,
+ "--- Agent Removed Empty CGroup:" + cgroupFolder);
+ } else {
+ agentLogger.info("cleanupOnStartup", null,"CGroup "+cgroupFolder+" Contains Zombie Processing. Not Removing the Container");
+ }
} catch (Exception e) {
agentLogger.error("cleanupOnStartup", null, e);
}