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


Reply via email to