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/04/02 22:46:12 UTC

svn commit: r1463749 - in /uima/sandbox/uima-ducc/trunk: uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/ uima-ducc-common/src/main/java/org/apache/uima/ducc/common/json/ uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/

Author: degenaro
Date: Tue Apr  2 20:46:12 2013
New Revision: 1463749

URL: http://svn.apache.org/r1463749
Log:
UIMA 2794 DUCC CLI ManagedReservationMonitor gives incorrect RC

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/json/MonitorInfo.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorManagedReservation.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java?rev=1463749&r1=1463748&r2=1463749&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java Tue Apr  2 20:46:12 2013
@@ -401,13 +401,36 @@ public abstract class DuccMonitor  {
 				if(state.equals(StateCompleted)) {
 					if(monitorInfo.procs.equals("0")) {
 						if(monitorInfo.total.equals(monitorInfo.done)) {
-							message = new StringBuffer();
-							message.append("id:"+id);
-							message.append(" ");
-							message.append("rc:"+RC_SUCCESS);
-							thisMessage = message.toString();
-							info(thisMessage);
-							return RC_SUCCESS;
+							if(monitorInfo.code.equals("0")) {
+								message = new StringBuffer();
+								message.append("id:"+id);
+								message.append(" ");
+								message.append("code:"+monitorInfo.code);
+								thisMessage = message.toString();
+								info(thisMessage);
+								message = new StringBuffer();
+								message.append("id:"+id);
+								message.append(" ");
+								message.append("rc:"+RC_SUCCESS);
+								thisMessage = message.toString();
+								info(thisMessage);
+								return RC_SUCCESS;
+							}
+							else {
+								message = new StringBuffer();
+								message.append("id:"+id);
+								message.append(" ");
+								message.append("code:"+monitorInfo.code);
+								thisMessage = message.toString();
+								info(thisMessage);
+								message = new StringBuffer();
+								message.append("id:"+id);
+								message.append(" ");
+								message.append("rc:"+RC_FAILURE);
+								thisMessage = message.toString();
+								info(thisMessage);
+								return RC_FAILURE;
+							}
 						}
 						else {
 							if(!monitorInfo.errorLogs.isEmpty()) {

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/json/MonitorInfo.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/json/MonitorInfo.java?rev=1463749&r1=1463748&r2=1463749&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/json/MonitorInfo.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/json/MonitorInfo.java Tue Apr  2 20:46:12 2013
@@ -22,6 +22,7 @@ package org.apache.uima.ducc.common.json
 import java.util.ArrayList;
 
 public class MonitorInfo {
+	public String code = "0";
 	public ArrayList<String> stateSequence = new ArrayList<String>();
 	public String total = "0";
 	public String done  = "0";

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorManagedReservation.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorManagedReservation.java?rev=1463749&r1=1463748&r2=1463749&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorManagedReservation.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorManagedReservation.java Tue Apr  2 20:46:12 2013
@@ -21,6 +21,7 @@ package org.apache.uima.ducc.ws.server;
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.Iterator;
+import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
 
@@ -33,6 +34,7 @@ import org.apache.uima.ducc.transport.ev
 import org.apache.uima.ducc.transport.event.cli.SpecificationProperties;
 import org.apache.uima.ducc.transport.event.common.DuccWorkJob;
 import org.apache.uima.ducc.transport.event.common.DuccWorkMap;
+import org.apache.uima.ducc.transport.event.common.IDuccProcess;
 import org.apache.uima.ducc.transport.event.common.IDuccState.JobState;
 import org.apache.uima.ducc.transport.event.common.IDuccWork;
 
@@ -102,6 +104,9 @@ public class DuccWebMonitorManagedReserv
 			//monitorInfo.retry = si.getWorkItemsRetry();		// ignore for MR, default to 0
 			monitorInfo.procs = ""+dwr.getProcessMap().getAliveProcessCount();
 			
+			Map<DuccId, IDuccProcess> map = dwr.getProcessMap().getMap();
+			monitorInfo.code = getCode(map);
+			
 			ArrayList<String> stateSequence = monitorInfo.stateSequence;
 			String state = dwr.getJobState().toString();
 			if(!stateSequence.contains(state)) {
@@ -121,6 +126,20 @@ public class DuccWebMonitorManagedReserv
 		duccLogger.trace(location, jobid, "exit");
 	}
 	
+	protected String getCode(Map<DuccId, IDuccProcess> map) {
+		String code = "?";
+		if(map != null) {
+			Iterator<DuccId> iterator = map.keySet().iterator();
+			while(iterator.hasNext()) {
+				DuccId key = iterator.next();
+				IDuccProcess process = map.get(key);
+				code = ""+process.getProcessExitCode();
+				break;
+			}
+		}
+		return code;
+	}
+	
 	protected DuccId getKey(String jobId) {
 		DuccId retVal = null;
 		Enumeration<DuccId> keys = mMap.keys();