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();