Author: degenaro
Date: Fri May 20 20:58:08 2016
New Revision: 1744793

URL: http://svn.apache.org/viewvc?rev=1744793&view=rev
Log:
UIMA-4938 DUCC Job Driver (JD) erroneously determines: fewer work items than 
expected

- record to log relevant details that lead to conclusion of prematurity, once.

Modified:
    
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/cas/CasManagerStats.java

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/cas/CasManagerStats.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/cas/CasManagerStats.java?rev=1744793&r1=1744792&r2=1744793&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/cas/CasManagerStats.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/cas/CasManagerStats.java
 Fri May 20 20:58:08 2016
@@ -46,6 +46,8 @@ public class CasManagerStats {
        private AtomicBoolean seenAll = new AtomicBoolean(false);
        private AtomicBoolean killJob = new AtomicBoolean(false);
        
+       private AtomicBoolean warned = new AtomicBoolean(false);
+       
        private ConcurrentHashMap<String,AtomicInteger> retryReasonsMap = new 
ConcurrentHashMap<String,AtomicInteger>();
        
        public boolean isExhausted() {
@@ -71,14 +73,20 @@ public class CasManagerStats {
                                }
                        }
                }
+               // if premature, warn to log file once
                if(retVal) {
-                       MessageBuffer mb = new MessageBuffer();
-                       mb.append("seenAll:"+seenAll.get());
-                       mb.append("crGets:"+crGets.get());
-                       mb.append("crTotal:"+crTotal.get());
-                       mb.append("endSuccess:"+endSuccess.get());
-                       mb.append("endFailure:"+endFailure.get());
-                       logger.debug(location, ILogger.null_id, mb.toString());
+                       boolean expect = false;
+                       boolean update = true;
+                       boolean success = warned.compareAndSet(expect, update);
+                       if(success) {
+                               MessageBuffer mb = new MessageBuffer();
+                               mb.append("seenAll:"+seenAll.get());
+                               mb.append("crGets:"+crGets.get());
+                               mb.append("crTotal:"+crTotal.get());
+                               mb.append("endSuccess:"+endSuccess.get());
+                               mb.append("endFailure:"+endFailure.get());
+                               logger.warn(location, ILogger.null_id, 
mb.toString());
+                       }
                }
                return retVal;
        }


Reply via email to