uima-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cwik...@apache.org
Subject svn commit: r995420 - /uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java
Date Thu, 09 Sep 2010 13:32:17 GMT
Author: cwiklik
Date: Thu Sep  9 13:32:17 2010
New Revision: 995420

URL: http://svn.apache.org/viewvc?rev=995420&view=rev
Log:
UIMA-1867 modified process() to detect send failures and to force CAS release

Modified:
    uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java

Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java?rev=995420&r1=995419&r2=995420&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java
(original)
+++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java
Thu Sep  9 13:32:17 2010
@@ -629,9 +629,16 @@ public class PrimitiveAnalysisEngineCont
           // Send generated CAS to the client
           if (!stopped) {
             getOutputChannel().sendReply(newEntry, anEndpoint);
+            //	Check for delivery failure. The client may have terminated while an input
CAS was being processed
+            if ( childCasStateEntry.deliveryToClientFailed() ) {
+          	  if ( cmOutstandingCASes.containsKey(childCasStateEntry.getCasReferenceId()))
{
+              	  cmOutstandingCASes.remove(childCasStateEntry.getCasReferenceId());
+          	  }
+          	  dropCAS(childCasStateEntry.getCasReferenceId(), true);
+            }
           }
         }
-        // Remove the new CAS state entry from the local cache if this a top level primitive.
+        // Remove new CAS state entry from the local cache if this is a top level primitive.
         // If not top level, the client (an Aggregate) will remove this entry when this new
         // generated CAS reaches Final State.
         if (isTopLevelComponent()) {



Mime
View raw message