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 2015/02/14 15:10:28 UTC

svn commit: r1659795 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport: configuration/jd/JobDriverComponent.java event/common/DuccProcess.java event/common/IDuccProcess.java event/jd/JobDriverReport.java

Author: degenaro
Date: Sat Feb 14 14:10:27 2015
New Revision: 1659795

URL: http://svn.apache.org/r1659795
Log:
UIMA-4236 DUCC Job Driver (JD) should support configurable startup initialization error limit

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccProcess.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccProcess.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/JobDriverReport.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java?rev=1659795&r1=1659794&r2=1659795&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java Sat Feb 14 14:10:27 2015
@@ -178,7 +178,21 @@ implements IJobDriverComponent {
 						String ip = ni.getIp();
 						String pidName = p.getDuccId().getFriendly()+"";
 						String pid = p.getPID();
-						logger.debug(location, jobid, "node: "+node+" "+"ip: "+ip+" "+"pid: "+pid+" "+"state:"+state.name());
+						StringBuffer sb = new StringBuffer();
+						sb.append("node: "+node);
+						sb.append(" ");
+						sb.append("ip: "+ip);
+						sb.append(" ");
+						sb.append("pid: "+pid);
+						sb.append(" ");
+						sb.append("state:"+state.name());
+						sb.append(" ");
+						String reason = p.getReasonForStoppingProcess();
+						if(reason != null) {
+							sb.append("reason:"+reason);
+							sb.append(" ");
+						}
+						logger.debug(location, jobid, sb.toString());
 						switch(state) {
 						case Starting:    
 						case Initializing:
@@ -189,11 +203,14 @@ implements IJobDriverComponent {
 								if(pid != null) {
 									int iPid = Integer.parseInt(pid.trim());
 									IProcessInfo processInfo = new ProcessInfo(node, ip, pidName, iPid);
-									if(p.isPreempted()) {
-										mh.handlePreemptProcess(processInfo);
+									if(p.isFailedInitialization()) {
+										mh.handleProcessFailedInitialization(processInfo);
+									}
+									else if(p.isPreempted()) {
+										mh.handleProcessPreempt(processInfo);
 									}
 									else {
-										mh.handleDownProcess(processInfo);
+										mh.handleProcessDown(processInfo);
 									}
 								}
 							}

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccProcess.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccProcess.java?rev=1659795&r1=1659794&r2=1659795&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccProcess.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccProcess.java Sat Feb 14 14:10:27 2015
@@ -333,6 +333,21 @@ public class DuccProcess implements IDuc
 	}
 	
 	
+	public boolean isFailedInitialization() {
+		boolean retVal = false;
+		String reason = getReasonForStoppingProcess();
+		if(reason != null) {
+			if(reason.equals("FailedInitialization")) {
+				retVal = true;
+			}
+			else if(reason.equals("InitializationTimeout")) {
+				retVal = true;
+			}
+		}
+		return retVal;
+	}
+	
+	
 	public boolean isPreempted() {
 		boolean retVal = false;
 		switch(deallocationType) {

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccProcess.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccProcess.java?rev=1659795&r1=1659794&r2=1659795&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccProcess.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccProcess.java Sat Feb 14 14:10:27 2015
@@ -72,6 +72,7 @@ public interface IDuccProcess extends Se
 	public boolean isActive();
 	public boolean isReady();
 	public boolean isFailed();
+	public boolean isFailedInitialization();
 	public boolean isPreempted();
 	public boolean isComplete();
 

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/JobDriverReport.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/JobDriverReport.java?rev=1659795&r1=1659794&r2=1659795&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/JobDriverReport.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/JobDriverReport.java Sat Feb 14 14:10:27 2015
@@ -42,6 +42,7 @@ import org.apache.uima.ducc.transport.ev
 import org.apache.uima.ducc.transport.event.common.IDuccProcessMap;
 import org.apache.uima.ducc.transport.event.common.IDuccProcessWorkItems;
 import org.apache.uima.ducc.transport.event.common.IRationale;
+import org.apache.uima.ducc.transport.event.common.Rationale;
 import org.apache.uima.ducc.transport.event.jd.IDriverState.DriverState;
 
 public class JobDriverReport implements Serializable, IDriverStatusReport {
@@ -82,6 +83,7 @@ public class JobDriverReport implements
 	private String jpDeployable = null;
 	
 	private JobCompletionType jobCompletionType = JobCompletionType.EndOfJob;
+	private IRationale jobCompletionRationale = null;
 	
 	private IDuccPerWorkItemStatistics duccPerWorkItemStatistics = null;
 	
@@ -158,6 +160,11 @@ public class JobDriverReport implements
 		if(operatingInfo.isKillJob()) {
 			setKillJob();
 			setCompletionType(operatingInfo.getCompletionType());
+			String completionText = operatingInfo.getCompletionText();
+			if(completionText != null) {
+				IRationale completionRationale = new Rationale(completionText);
+				setCompletionRationale(completionRationale);
+			}
 		}
 		// operating map
 		setActiveWorkItemInfo(operatingInfo.getActiveWorkItemInfo());
@@ -465,6 +472,10 @@ public class JobDriverReport implements
 		}
 	}
 	
+	private void setCompletionRationale(IRationale value) {
+		jobCompletionRationale = value;
+	}
+	
 	@Override
 	public JobCompletionType getJobCompletionType() {
 		return jobCompletionType;
@@ -472,8 +483,7 @@ public class JobDriverReport implements
 
 	@Override
 	public IRationale getJobCompletionRationale() {
-		// TODO Auto-generated method stub
-		return null;
+		return jobCompletionRationale;
 	}
 
 	@Override