You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2013/03/01 19:14:42 UTC

svn commit: r1451674 - /uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateJobAccounting.java

Author: degenaro
Date: Fri Mar  1 18:14:42 2013
New Revision: 1451674

URL: http://svn.apache.org/r1451674
Log:
UIMA-207 DUCC orchestrator (OR) should advance past the Initializing state for Managed Reservations

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateJobAccounting.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateJobAccounting.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateJobAccounting.java?rev=1451674&r1=1451673&r2=1451674&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateJobAccounting.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateJobAccounting.java Fri Mar  1 18:14:42 2013
@@ -20,6 +20,8 @@ package org.apache.uima.ducc.orchestrato
 
 import org.apache.uima.ducc.common.utils.DuccLogger;
 import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
+import org.apache.uima.ducc.transport.event.common.IDuccTypes.DuccType;
+import org.apache.uima.ducc.transport.event.common.IDuccWorkService.ServiceDeploymentType;
 import org.apache.uima.ducc.transport.event.common.IDuccWorkJob;
 import org.apache.uima.ducc.transport.event.common.IRationale;
 import org.apache.uima.ducc.transport.event.common.IDuccCompletionType.JobCompletionType;
@@ -36,6 +38,45 @@ public class StateJobAccounting {
 		return instance;
 	}
 	
+	private boolean advance(IDuccWorkJob job) {
+		String methodName = "advance";
+		boolean retVal = false;
+		try {
+			DuccType duccType = job.getDuccType();
+			switch(duccType) {
+			case Service:
+				ServiceDeploymentType sdt = job.getServiceDeploymentType();
+				switch(sdt) {
+				case other:
+					JobState state = job.getJobState();
+					switch(state) {
+					case Initializing:
+						JobState next = JobState.Running;
+						JobState prev = state;
+						logger.info(methodName, job.getDuccId(),"current["+next+"] previous["+prev+"]"+" "+"-> skipped");
+						retVal = stateChange(job, next);
+						break;
+					default:
+						logger.debug(methodName, job.getDuccId(), "State is not "+JobState.Initializing+" state");
+						break;
+					}
+					break;
+				default:
+					logger.debug(methodName, job.getDuccId(), "Service is not ManagedReservation (other); ServiceDeploymentType="+sdt);
+					break;
+				}
+				break;
+			default:
+				logger.debug(methodName, job.getDuccId(), "DuccType="+duccType);
+				break;
+			}
+		}
+		catch(Exception e) {
+			logger.error(methodName, job.getDuccId(), e);
+		}
+		return retVal;
+	}
+	
 	public boolean stateChange(IDuccWorkJob job, JobState state) {
 		String methodName = "stateChange";
 		boolean retVal = false;
@@ -79,7 +120,10 @@ public class StateJobAccounting {
 		}
 		if(retVal) {
 			job.setJobState(state);
-			logger.info(methodName, job.getDuccId(),"current["+next+"] previous["+prev+"]");
+			boolean advanceVal = advance(job);
+			if(!advanceVal) {
+				logger.info(methodName, job.getDuccId(),"current["+next+"] previous["+prev+"]");
+			}
 		}
 		else {
 			try {