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 2013/08/23 22:20:13 UTC

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

Author: cwiklik
Date: Fri Aug 23 20:20:13 2013
New Revision: 1517015

URL: http://svn.apache.org/r1517015
Log:
UIMA-3216 Fixed times related to process transitioning from Initializing to Running states.

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/DuccCommandExecutor.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=1517015&r1=1517014&r2=1517015&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 Fri Aug 23 20:20:13 2013
@@ -854,8 +854,21 @@ public class NodeAgent extends AbstractD
             processEntry.getValue().setProcessJmxUrl(duccEvent.getProcessJmxUrl());
           }
           ITimeWindow tw = processEntry.getValue().getTimeWindowInit();
-          if (tw.getEnd() == null && duccEvent.getState().equals(ProcessState.Running)) {
-            tw.setEnd(TimeStamp.getCurrentMillis());
+          if (tw.getEnd() == null ) {
+        	if ( !duccEvent.getState().equals(ProcessState.Initializing)) {
+        		// Mark the time the process ended initialization. It also 
+        		// covers a case when the process terminates while initializing
+          	    tw.setEnd(TimeStamp.getCurrentMillis());
+            
+            	if ( duccEvent.getState().equals(ProcessState.Running)) {
+        		    ITimeWindow twr = new TimeWindow();
+        		    String millis;
+        		    millis = TimeStamp.getCurrentMillis();
+        		    // Mark the time the process started running
+        		    processEntry.getValue().setTimeWindowRun(twr);
+        		    twr.setStart(millis);
+            	}
+        	}
           }
           ManagedProcess deployedProcess = null;
           synchronized (monitor) {
@@ -1144,13 +1157,14 @@ public class NodeAgent extends AbstractD
       ProcessStateUpdate processStateUpdate = new ProcessStateUpdate(process.getProcessState(),
               process.getPID(), process.getDuccId().getUnique());
       ProcessStateUpdateDuccEvent event = new ProcessStateUpdateDuccEvent(processStateUpdate);
+      /*
       if (process != null) {
         ITimeWindow tw = process.getTimeWindowInit();
         if (tw.getEnd() == null) {
           tw.setEnd(TimeStamp.getCurrentMillis());
         }
       }
-
+*/
       updateProcessStatus(event);
     } catch (Exception e) {
       logger.error(methodName, null, e);

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=1517015&r1=1517014&r2=1517015&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 Aug 23 20:20:13 2013
@@ -305,14 +305,14 @@ public class DuccCommandExecutor extends
 	private void startProcess(ICommandLine cmdLine,String[] cmd, Map<String, String> processEnv) throws Exception {
 		String methodName = "startProcess";
 
-		ITimeWindow twr = new TimeWindow();
-		String millis;
-		millis = TimeStamp.getCurrentMillis();
-        
-		((ManagedProcess) managedProcess).getDuccProcess().setTimeWindowRun(twr);
-		twr.setStart(millis);
+//		ITimeWindow twr = new TimeWindow();
+//		String millis;
+//		millis = TimeStamp.getCurrentMillis();
+//        
+//		((ManagedProcess) managedProcess).getDuccProcess().setTimeWindowRun(twr);
+//		twr.setStart(millis);
 		ProcessBuilder pb = new ProcessBuilder(cmd);
-
+		/*
 		if ( ((ManagedProcess)super.managedProcess).getDuccProcess().getProcessType().equals(ProcessType.Pop) ||
 				((ManagedProcess)super.managedProcess).getDuccProcess().getProcessType().equals(ProcessType.Service)   ) {
 			ITimeWindow twi = new TimeWindow();
@@ -320,6 +320,7 @@ public class DuccCommandExecutor extends
 			twi.setStart(millis);
 			twi.setEnd(millis);
 		}
+	*/
 		Map<String, String> env = pb.environment();
 		//	Dont enherit agent's environment
 		env.clear();
@@ -341,8 +342,8 @@ public class DuccCommandExecutor extends
 		} catch(Exception e) {
 			throw e;
 		} finally {
-			millis = TimeStamp.getCurrentMillis();
-			twr.setEnd(millis);
+//			millis = TimeStamp.getCurrentMillis();
+//			twr.setEnd(millis);
 		}
 	}
 	private void doExec(ProcessBuilder pb, String[] cmd, boolean isKillCmd) throws Exception {