Author: degenaro
Date: Wed Mar 13 18:14:35 2013
New Revision: 1456070

URL: http://svn.apache.org/r1456070
Log:
UIMA-2738 DUCC command line interface (CLI) JobMonitor prematurely cancels Jobs

Modified:
    
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobMonitor.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitor.java

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobMonitor.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobMonitor.java?rev=1456070&r1=1456069&r2=1456070&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobMonitor.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobMonitor.java
 Wed Mar 13 18:14:35 2013
@@ -215,7 +215,7 @@ private Thread main = null;
                return sb.toString();
        }
        
-       public int run(String[] args) throws Exception {
+       private int runInternal(String[] args) throws Exception {
                /*
                 * require DUCC_HOME 
                 */
@@ -323,7 +323,14 @@ private Thread main = null;
                                        message.append("state:"+NotFound);
                                        thisMessage = message.toString();
                                        info(thisMessage);
-                                       // return rc.get();
+                                       message = new StringBuffer();
+                                       message.append("id:"+jobId);
+                                       message.append(" ");
+                                       message.append("rc:"+RC_FAILURE);
+                                       thisMessage = message.toString();
+                                       info(thisMessage);
+                                       rc.set(RC_FAILURE);
+                                       return rc.get();
                                }
                                
                                String state = "";
@@ -430,6 +437,16 @@ private Thread main = null;
                duccMessageProcessor.exception(e);
        }
        }
+       
+       public int run(String[] args) {
+               try {
+                       runInternal(args);
+       } catch (Exception e) {
+               duccMessageProcessor.exception(e);
+       }
+               return rc.get();
+       }
+       
        public static void main(String[] args) {
                try {
                        DuccJobMonitor duccJobMonitor = new 
DuccJobMonitor(false);

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitor.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitor.java?rev=1456070&r1=1456069&r2=1456070&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitor.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitor.java
 Wed Mar 13 18:14:35 2013
@@ -323,29 +323,34 @@ public class DuccWebMonitor implements I
                
                int countAtArrival = updateCounter.get();
                int countAtPresent = countAtArrival;
-               int sleepSecondsMax = 60;
+               int sleepSecondsMax = 3*60;
                
                DuccId duccId = getKey(jobId);
                
                if(duccId == null) {
                        int sleepSeconds = 0;
                        duccLogger.info(location, duccId, "Waiting for 
update...");
-                       while(countAtArrival == countAtPresent) {
+                       while(duccId == null) {
                                try {
+                                       duccLogger.debug(location, duccId, 
"Waiting continues...");
                                        Thread.sleep(1000);
                                        sleepSeconds += 1;
                                        if(sleepSeconds > sleepSecondsMax) {
                                                break;
                                        }
+                                       countAtPresent = updateCounter.get();
+                                       if((countAtPresent-countAtArrival) > 2) 
{
+                                               break;
+                                       }
+                                       duccId = getKey(jobId);
                                }
                                catch(Exception e) {
                                }
-                               countAtPresent = updateCounter.get();
                        }
                        duccLogger.info(location, duccId, "Waiting complete.");
                        duccId = getKey(jobId);
                }
-                       
+               
                if(duccId != null) {
                        monitorInfo = jMap.get(duccId);
                        if(tMap.containsKey(duccId)) {


Reply via email to