Author: cwiklik
Date: Wed Jun 1 20:11:01 2016
New Revision: 1746493
URL: http://svn.apache.org/viewvc?rev=1746493&view=rev
Log:
UIMA-4947 move agent cgroup cleanup code right after cgroups pass a test
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java
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/NodeAgent.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java?rev=1746493&r1=1746492&r2=1746493&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java
Wed Jun 1 20:11:01 2016
@@ -301,13 +301,6 @@ public class NodeAgent extends AbstractD
if (cgroupsManager.cgroupExists(cgroupsBaseDir)) {
logger.info("nodeAgent",null,"Agent found cgroup base
directory in "+cgroupsBaseDir);
try {
- // remove stale CGroups
- cgroupsManager.cleanupOnStartup();
- } catch (Exception e) {
- logger.error("nodeAgent", null, e);
-
- }
- try {
String containerId = "test";
String uid = "ducc";
// validate cgroups by creating a dummy cgroup. The
code checks if cgroup actually got created by
@@ -330,6 +323,14 @@ public class NodeAgent extends AbstractD
useCgroups = false;
}
+ try {
+ // remove stale CGroups
+ cgroupsManager.cleanupOnStartup();
+ } catch (Exception e) {
+ logger.error("nodeAgent", null, e);
+
+ }
+
} else {
logger.info("nodeAgent",null,"Agent failed to find cgroup
base directory in "+cgroupsBaseDir+". Check if cgroups is installed on this
node and the cgroup daemon is running");
//logger.info("nodeAgent", null, "------- CGroups Not
Installed on this Machine");
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=1746493&r1=1746492&r2=1746493&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
Wed Jun 1 20:11:01 2016
@@ -159,6 +159,7 @@ public class CGroupsManager {
File cgroupsFolder = new File(cgroupBaseDir);
String[] files = cgroupsFolder.list();
+
for (String cgroupFolder : files) {
Matcher m = p.matcher(cgroupFolder);
// only look at ducc's cgroups
@@ -170,6 +171,11 @@ public class CGroupsManager {
+ "/cgroup.procs");
// collect all pids
String[] pids = readPids(f);
+
+ if ( pids != null && pids.length > 0 ) {
+
agentLogger.info("cleanupOnStartup", null,"Agent found "+pids.length+" cgroup
proceses still active after Agent restart. Proceeding to remove stale
processes");
+ }
+
int zombieCount=0;
// kill each runnig process via -9
if (pids != null && pids.length > 0) {