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) {


Reply via email to