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 17:14:51 UTC

svn commit: r1586680 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher: CGroupsManager.java DuccCommandExecutor.java

Author: cwiklik
Date: Fri Apr 11 15:14:51 2014
New Revision: 1586680

URL: http://svn.apache.org/r1586680
Log:
UIMA-3739 added more logging to the code path involved in launching a process

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.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=1586680&r1=1586679&r2=1586680&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 15:14:51 2014
@@ -342,6 +342,7 @@ public class CGroupsManager {
 			boolean useDuccSpawn) throws Exception {
 
 		try {
+			agentLogger.info("createContainer", null, "Creating CGroup Container:" + containerId);
 			
 			String[] command = new String[] { cgroupUtilsDir+"/cgcreate", "-t",
 					"ducc", "-a", "ducc", "-g",
@@ -460,21 +461,33 @@ public class CGroupsManager {
 			String c_launcher_path = Utils.resolvePlaceholderIfExists(
 					System.getProperty("ducc.agent.launcher.ducc_spawn_path"),
 					System.getProperties());
-
+			StringBuffer sb = new StringBuffer();
+			
 			if (useDuccSpawn && c_launcher_path != null) {
 				commandLine = new String[4 + command.length];
 				commandLine[0] = c_launcher_path;
+				sb.append(c_launcher_path).append(" ");
 				commandLine[1] = "-u";
+				sb.append("-u ");
 				commandLine[2] = userId;
+				sb.append(userId);
 				commandLine[3] = "--";
-
+				sb.append(" -- ");
 				int j = 0;
 				for (int i = 4; i < commandLine.length; i++) {
+					sb.append(command[j]).append(" ");
 					commandLine[i] = command[j++];
 				}
 			} else {
 				commandLine = command;
+				if ( command != null ) {
+   				    for (int i = 0; i < command.length; i++) {
+					    sb.append(command[i]).append(" ");
+				    }
+				}
 			}
+			agentLogger.info("launchCommand", null, "Launching Process - Commandline:"+sb.toString());
+			
 			ProcessBuilder processLauncher = new ProcessBuilder();
 			processLauncher.command(commandLine);
 			processLauncher.redirectErrorStream();
@@ -485,9 +498,12 @@ public class CGroupsManager {
 					process.getInputStream());
 			reader = new BufferedReader(in);
 			String line;
+			agentLogger.info("launchCommand", null, "Consuming Process Streams");
 			while ((line = reader.readLine()) != null) {
 				agentLogger.info("launchCommand", null, ">>>>" + line);
 			}
+			agentLogger.info("launchCommand", null, "Waiting for Process to Exit");
+
 			int retCode = process.waitFor();
 			return retCode;
 

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java?rev=1586680&r1=1586679&r2=1586680&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java Fri Apr 11 15:14:51 2014
@@ -143,8 +143,9 @@ public class DuccCommandExecutor extends
 						//  is created for the reservation and we co-locate as many JDs as we can fit in it.
 						//String containerId = ((ManagedProcess) managedProcess).getWorkDuccId()+"."+duccProcess.getCGroup().getId().getFriendly();
 						String containerId = getContainerId();
-						logger.info(methodName, null, "Creating CGroup with ID:"+containerId);					
+						logger.info(methodName, null, "Checking for CGroup Existance with ID:"+containerId);					
 						if ( !agent.cgroupsManager.cgroupExists(agent.cgroupsManager.getDuccCGroupBaseDir()+"/"+containerId) ) {
+							logger.info(methodName, null, "No CGroup with ID:"+containerId+" Found");
 							boolean failed = false;
 							// create cgroup container for JDs
 							try {