You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2013/09/17 16:10:36 UTC

svn commit: r1524055 - in /uima/uima-as/trunk/uimaj-as-core/src/main: java/org/apache/uima/aae/controller/ resources/

Author: cwiklik
Date: Tue Sep 17 14:10:36 2013
New Revision: 1524055

URL: http://svn.apache.org/r1524055
Log:
UIMA-2735 Modified to support disable JCas cache

Modified:
    uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java
    uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/Endpoint_impl.java
    uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java
    uima/uima-as/trunk/uimaj-as-core/src/main/resources/uimaee_messages.properties

Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java?rev=1524055&r1=1524054&r2=1524055&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java (original)
+++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java Tue Sep 17 14:10:36 2013
@@ -262,7 +262,7 @@ public abstract class BaseAnalysisEngine
           int aComponentCasPoolSize, String anEndpointName, String aDescriptor,
           AsynchAECasManager aCasManager, InProcessCache anInProcessCache) throws Exception {
     this(aParentController, aComponentCasPoolSize, 0, anEndpointName, aDescriptor, aCasManager,
-            anInProcessCache, null, null);
+            anInProcessCache, null, null, false);
   }
 
   public BaseAnalysisEngineController(AnalysisEngineController aParentController,
@@ -270,7 +270,7 @@ public abstract class BaseAnalysisEngine
           AsynchAECasManager aCasManager, InProcessCache anInProcessCache, Map aDestinationMap)
           throws Exception {
     this(aParentController, aComponentCasPoolSize, 0, anEndpointName, aDescriptor, aCasManager,
-            anInProcessCache, aDestinationMap, null);
+            anInProcessCache, aDestinationMap, null, false);
   }
 
   public BaseAnalysisEngineController(AnalysisEngineController aParentController,
@@ -278,13 +278,13 @@ public abstract class BaseAnalysisEngine
           AsynchAECasManager aCasManager, InProcessCache anInProcessCache, Map aDestinationMap,
           JmxManagement aJmxManagement) throws Exception {
     this(aParentController, aComponentCasPoolSize, 0, anEndpointName, aDescriptor, aCasManager,
-            anInProcessCache, aDestinationMap, aJmxManagement);
+            anInProcessCache, aDestinationMap, aJmxManagement, false);
   }
 
   public BaseAnalysisEngineController(AnalysisEngineController aParentController,
           int aComponentCasPoolSize, long anInitialCasHeapSize, String anEndpointName,
           String aDescriptor, AsynchAECasManager aCasManager, InProcessCache anInProcessCache,
-          Map aDestinationMap, JmxManagement aJmxManagement) throws Exception {
+          Map aDestinationMap, JmxManagement aJmxManagement,boolean disableJCasCache) throws Exception {
     casManager = aCasManager;
     inProcessCache = anInProcessCache;
     localCache = new LocalCache(this);
@@ -425,7 +425,7 @@ public abstract class BaseAnalysisEngine
                             new Object[] { getComponentName(), aComponentCasPoolSize,
                                 anInitialCasHeapSize,getUimaContextAdmin().getQualifiedContextName() });
           }
-          initializeComponentCasPool(aComponentCasPoolSize, anInitialCasHeapSize);
+          initializeComponentCasPool(aComponentCasPoolSize, anInitialCasHeapSize, disableJCasCache);
         }
       }
     } else {
@@ -447,7 +447,7 @@ public abstract class BaseAnalysisEngine
       }
       paramsMap.put(Resource.PARAM_UIMA_CONTEXT, childContext);
       initialize(resourceSpecifier, paramsMap);
-      initializeComponentCasPool(aComponentCasPoolSize, anInitialCasHeapSize);
+      initializeComponentCasPool(aComponentCasPoolSize, anInitialCasHeapSize, disableJCasCache);
       if (parentController instanceof AggregateAnalysisEngineController) {
 
         // Register self with the parent controller
@@ -924,12 +924,15 @@ public abstract class BaseAnalysisEngine
     jmxManagement = aJmxManagement;
   }
 
-  private void initializeComponentCasPool(int aComponentCasPoolSize, long anInitialCasHeapSize) {
+  private void initializeComponentCasPool(int aComponentCasPoolSize, long anInitialCasHeapSize, boolean disableJCasCache) {
     if (aComponentCasPoolSize > 0) {
       EECasManager_impl cm = (EECasManager_impl) getResourceManager().getCasManager();
       
       cm.setInitialCasHeapSize(anInitialCasHeapSize);
       cm.setPoolSize(getUimaContextAdmin().getUniqueName(), aComponentCasPoolSize);
+      if ( disableJCasCache ) {
+        cm.disableJCasCaching();
+      }
       if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.INFO)) {
         UIMAFramework.getLogger(CLASS_NAME).logrb(
                 Level.INFO,
@@ -938,7 +941,7 @@ public abstract class BaseAnalysisEngine
                 UIMAEE_Constants.JMS_LOG_RESOURCE_BUNDLE,
                 "UIMAEE_cas_pool_config_INFO",
                 new Object[] { getComponentName(), getUimaContextAdmin().getQualifiedContextName(),
-                    aComponentCasPoolSize, anInitialCasHeapSize / 4 });
+                    aComponentCasPoolSize, anInitialCasHeapSize / 4, disableJCasCache });
       }
     } 
   }

Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/Endpoint_impl.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/Endpoint_impl.java?rev=1524055&r1=1524054&r2=1524055&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/Endpoint_impl.java (original)
+++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/Endpoint_impl.java Tue Sep 17 14:10:36 2013
@@ -119,7 +119,16 @@ public class Endpoint_impl implements En
   
   private volatile TypeSystemImpl typeSystemImpl;
   
+  private volatile boolean disableJCasCache;
   
+  public boolean isDisableJCasCache() {
+    return disableJCasCache;
+  }
+
+  public void setDisableJCasCache(boolean disableJCasCache) {
+    this.disableJCasCache = disableJCasCache;
+  }
+
   public Endpoint_impl() {
     status = Endpoint.OK;
   }

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=1524055&r1=1524054&r2=1524055&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 Tue Sep 17 14:10:36 2013
@@ -125,7 +125,7 @@ public class PrimitiveAnalysisEngineCont
           InProcessCache anInProcessCache, int aWorkQueueSize, int anAnalysisEnginePoolSize,
           int aComponentCasPoolSize) throws Exception {
     this(aParentController, anEndpointName, anAnalysisEngineDescriptor, aCasManager,
-            anInProcessCache, aWorkQueueSize, anAnalysisEnginePoolSize, aComponentCasPoolSize, null);
+            anInProcessCache, aWorkQueueSize, anAnalysisEnginePoolSize, aComponentCasPoolSize, null, false);
   }
 
   // 9 args - adds initialCasHeapSize
@@ -133,30 +133,38 @@ public class PrimitiveAnalysisEngineCont
   public PrimitiveAnalysisEngineController_impl(AnalysisEngineController aParentController,
           String anEndpointName, String anAnalysisEngineDescriptor, AsynchAECasManager aCasManager,
           InProcessCache anInProcessCache, int aWorkQueueSize, int anAnalysisEnginePoolSize,
+          int aComponentCasPoolSize, long anInitialCasHeapSize, boolean disableJCasCache) throws Exception {
+    this(aParentController, anEndpointName, anAnalysisEngineDescriptor, aCasManager,
+            anInProcessCache, aWorkQueueSize, anAnalysisEnginePoolSize, aComponentCasPoolSize,
+            anInitialCasHeapSize, null, disableJCasCache);
+  }
+  public PrimitiveAnalysisEngineController_impl(AnalysisEngineController aParentController,
+          String anEndpointName, String anAnalysisEngineDescriptor, AsynchAECasManager aCasManager,
+          InProcessCache anInProcessCache, int aWorkQueueSize, int anAnalysisEnginePoolSize,
           int aComponentCasPoolSize, long anInitialCasHeapSize) throws Exception {
     this(aParentController, anEndpointName, anAnalysisEngineDescriptor, aCasManager,
             anInProcessCache, aWorkQueueSize, anAnalysisEnginePoolSize, aComponentCasPoolSize,
-            anInitialCasHeapSize, null);
+            anInitialCasHeapSize, null, false);
   }
-
   // 9 args - repl initialCasHeapSize with jmxManagement
   public PrimitiveAnalysisEngineController_impl(AnalysisEngineController aParentController,
           String anEndpointName, String anAnalysisEngineDescriptor, AsynchAECasManager aCasManager,
           InProcessCache anInProcessCache, int aWorkQueueSize, int anAnalysisEnginePoolSize,
-          int aComponentCasPoolSize, JmxManagement aJmxManagement) throws Exception {
+          int aComponentCasPoolSize, JmxManagement aJmxManagement,  boolean disableJCasCache) throws Exception {
     this(aParentController, anEndpointName, anAnalysisEngineDescriptor, aCasManager,
             anInProcessCache, aWorkQueueSize, anAnalysisEnginePoolSize, aComponentCasPoolSize, 0,
-            aJmxManagement);
+            aJmxManagement, disableJCasCache);
   }
 
   // 10 args - adds initialCasHeapSize back
   public PrimitiveAnalysisEngineController_impl(AnalysisEngineController aParentController,
           String anEndpointName, String anAnalysisEngineDescriptor, AsynchAECasManager aCasManager,
           InProcessCache anInProcessCache, int aWorkQueueSize, int anAnalysisEnginePoolSize,
-          int aComponentCasPoolSize, long anInitialCasHeapSize, JmxManagement aJmxManagement)
+          int aComponentCasPoolSize, long anInitialCasHeapSize, JmxManagement aJmxManagement,
+          boolean disableJCasCache)
           throws Exception {
     super(aParentController, aComponentCasPoolSize, anInitialCasHeapSize, anEndpointName,
-            anAnalysisEngineDescriptor, aCasManager, anInProcessCache, null, aJmxManagement);
+            anAnalysisEngineDescriptor, aCasManager, anInProcessCache, null, aJmxManagement, disableJCasCache);
     analysisEnginePoolSize = anAnalysisEnginePoolSize;
   }
 
@@ -166,7 +174,7 @@ public class PrimitiveAnalysisEngineCont
           InProcessCache anInProcessCache, int aWorkQueueSize, int anAnalysisEnginePoolSize,
           JmxManagement aJmxManagement) throws Exception {
     this(aParentController, anEndpointName, anAnalysisEngineDescriptor, aCasManager,
-            anInProcessCache, aWorkQueueSize, anAnalysisEnginePoolSize, 0, aJmxManagement);
+            anInProcessCache, aWorkQueueSize, anAnalysisEnginePoolSize, 0, aJmxManagement, false );
   }
 
   public int getAEInstanceCount() {

Modified: uima/uima-as/trunk/uimaj-as-core/src/main/resources/uimaee_messages.properties
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/resources/uimaee_messages.properties?rev=1524055&r1=1524054&r2=1524055&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-core/src/main/resources/uimaee_messages.properties (original)
+++ uima/uima-as/trunk/uimaj-as-core/src/main/resources/uimaee_messages.properties Tue Sep 17 14:10:36 2013
@@ -137,7 +137,7 @@ UIMAEE_cas_is_invalid_remove_from_cache_
 UIMAEE_cpc__FINEST = Controller: {0} Received CPC Request.
 UIMAEE_cpc_all_cases_processed__FINEST = Controller: {0} Processing CPC Request. All CASes Have Been Processed
 UIMAEE_release_cas_req__FINE = Controller: {0} Handling Release CAS Request. Releasing CAS Reference Id: {1}
-UIMAEE_cas_pool_config_INFO = Controller: {0} Configured CAS Pool For Context: {1} CAS Pool Size: {2} Initial Heap Size: {3}
+UIMAEE_cas_pool_config_INFO = Controller: {0} Configured CAS Pool For Context: {1} CAS Pool Size: {2} Initial Heap Size: {3} Disable JCas Cache: {4}
 UIMAEE_multiplier_cas_pool_config_INFO = Controller: {0} Configured CAS Pool Size: {1} Initial Heap Size:{2} For Context: {3}
 UIMAEE_invalid_cp_size__CONFIG = Controller: {0} Invalid Cas Pool Size. Remote Cas Multiplier {1} Cas Pool Size Exceeds the Aggregate Shadow Cas Pool Size. Remote CP Size: {2} Local CP Size: {3}
 UIMAEE_deserialize_cas_time_FINE = Deserialized CAS in {0} msec