Re: Error when deploying 5 instances of AE with External Resource, UIMA-AS 2.4.1 Snapshot

2013-06-06 Thread GATE User
Thanks for the help Jaroslaw:

The analysis engine in question is just a primative with the number of 
instances set to 5.



 From: Jaroslaw Cwiklik 
To: user@uima.apache.org; GATE User  
Sent: Thursday, June 6, 2013 12:19 PM
Subject: Re: Error when deploying 5 instances of AE with External Resource, 
UIMA-AS 2.4.1 Snapshot
 


As a followup, can you describe your uima-as deployment? Is it async aggregate 
or primitive? If aggregate, what are the delegates and how each is scaled?

Jerry C




On Thu, Jun 6, 2013 at 11:20 AM, Jaroslaw Cwiklik  wrote:

I frequently run UIMA-AS with scaled up AEs in the same jvm with no problems. 
The UIMA-AS calls defineCasPool() once
>when all AEs are instantiated. 
>
>
>The uima-core code that throws the exception is in 
>CasManager_impl.defineCasPool()
>
>
> private synchronized void defineCasPool(UimaContext aRequestorContext, String 
>aRequestorContextName, int aMinimumSize,
>          Properties aPerformanceTuningSettings) throws 
>ResourceInitializationException {
>   int poolSize = getCasPoolSize(aRequestorContextName, aMinimumSize);
>    if (poolSize > 0) {
>      CasPool pool = (CasPool) 
>mRequestorToCasPoolMap.get(aRequestorContextName);
>      if (pool == null) {
>        // this requestor hasn't requested a CAS before
>        pool = new CasPool(poolSize, this, aPerformanceTuningSettings);
>        populateCasToCasPoolAndUimaContextMaps(pool, aRequestorContext);
>        mRequestorToCasPoolMap.put(aRequestorContextName, pool);
>        //register with JMX
>        registerCasPoolMBean(aRequestorContextName, pool);
>
>
>      } else {
>        throw new 
>UIMARuntimeException(UIMARuntimeException.DEFINE_CAS_POOL_CALLED_TWICE,
>                new Object[] { aRequestorContextName });
>      }
>    }
>  }  
>  
>So it looks like something else is calling this method before UIMA-AS does. 
>You may need to run UIMA-AS in a debugger
>to determine what is happening. Just set a break point in defineCasPool and 
>back trace the call.
>
>
>Jerry C
>
>
>
>On Wed, Jun 5, 2013 at 9:27 PM, GATE User  wrote:
>
>Here's some additional information:
>>
>>I recent got the error after commenting out the part of the initialize code 
>>that gets the external resource, so it might not be connected to that after 
>>all.  I am also running this the broker and delegates in VirtualBox VMs.  
>>Thanks in advance.
>>
>>
>>
>> From: GATE User 
>>To: "user@uima.apache.org" 
>>Sent: Wednesday, June 5, 2013 1:10 PM
>>Subject: Error when deploying 5 instances of AE with External Resource, 
>>UIMA-AS 2.4.1 Snapshot
>>
>>
>>
>>Hello all:
>>
>>I declared a external resource and deployed the analysis engine with 5 
>>replicated instances on UIMA-AS 2.4.1 snapshot that I compiled from the svn 
>>repo for uima-as (trunk).  Deployment seems to go fine at first, but then 
>>about 10-20 seconds after the deployment says it's ready for work, the 
>>threads start to die.  The following error message appears in the log file 5 
>>times.
>>
>>
>>
>>org.apache.uima.UIMARuntimeException: The method CasManager.defineCasPool() 
>>was called twice by the same Analysis Engine (PrimitiveAEService).
>>    at 
>>org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:183)
>>    at 
>>org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:153)
>>    at 
>>org.apache.uima.aae.EECasManager_impl.defineCasPool(EECasManager_impl.java:56)
>>    at 
>>org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:97)
>>    at 
>>org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:81)
>>    at 
>>org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:77)
>>    at
>>org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize(PrimitiveAnalysisEngineController_impl.java:303)
>>    at 
>>org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.initializeAnalysisEngine(PrimitiveAnalysisEngineController_impl.java:211)
>>    at 
>>org.apache.uima.aae.UimaAsThreadFactory$1.run(UimaAsThreadFactory.java:114)
>>    at java.lang.Thread.run(Thread.java:722)
>>
>>11:40:25.256 - 23: 
>>org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize:
>> WARNING: Service: 
>>/usr/local/share/applications/uima-as/pear/MgrsRegularExpressionAnnotator 
>>Runtime

Re: Error when deploying 5 instances of AE with External Resource, UIMA-AS 2.4.1 Snapshot

2013-06-06 Thread Jaroslaw Cwiklik
As a followup, can you describe your uima-as deployment? Is it async
aggregate or primitive? If aggregate, what are the delegates and how each
is scaled?

Jerry C



On Thu, Jun 6, 2013 at 11:20 AM, Jaroslaw Cwiklik  wrote:

> I frequently run UIMA-AS with scaled up AEs in the same jvm with no
> problems. The UIMA-AS calls defineCasPool() once
> when all AEs are instantiated.
>
> The uima-core code that throws the exception is in
> CasManager_impl.defineCasPool()
>
>  private synchronized void defineCasPool(UimaContext aRequestorContext,
> String aRequestorContextName, int aMinimumSize,
>   Properties aPerformanceTuningSettings) throws
> ResourceInitializationException {
>  *   int poolSize = getCasPoolSize(aRequestorContextName, aMinimumSize);*
> *if (poolSize > 0) {*
>   CasPool pool = (CasPool)
> mRequestorToCasPoolMap.get(aRequestorContextName);
>   if (pool == null) {
> // this requestor hasn't requested a CAS before
> pool = new CasPool(poolSize, this, aPerformanceTuningSettings);
> populateCasToCasPoolAndUimaContextMaps(pool, aRequestorContext);
> mRequestorToCasPoolMap.put(aRequestorContextName, pool);
> //register with JMX
> registerCasPoolMBean(aRequestorContextName, pool);
>
>   } else {
>   *  throw new
> UIMARuntimeException(UIMARuntimeException.DEFINE_CAS_POOL_CALLED_TWICE,*
> *new Object[] { aRequestorContextName });*
>   }
> }
>   }
>
> So it looks like something else is calling this method before UIMA-AS
> does. You may need to run UIMA-AS in a debugger
> to determine what is happening. Just set a break point in defineCasPool
> and back trace the call.
>
> Jerry C
>
>
> On Wed, Jun 5, 2013 at 9:27 PM, GATE User  wrote:
>
>> Here's some additional information:
>>
>> I recent got the error after commenting out the part of the initialize
>> code that gets the external resource, so it might not be connected to that
>> after all.  I am also running this the broker and delegates in VirtualBox
>> VMs.  Thanks in advance.
>>
>>
>> 
>>  From: GATE User 
>> To: "user@uima.apache.org" 
>> Sent: Wednesday, June 5, 2013 1:10 PM
>> Subject: Error when deploying 5 instances of AE with External Resource,
>> UIMA-AS 2.4.1 Snapshot
>>
>>
>> Hello all:
>>
>> I declared a external resource and deployed the analysis engine with 5
>> replicated instances on UIMA-AS 2.4.1 snapshot that I compiled from the svn
>> repo for uima-as (trunk).  Deployment seems to go fine at first, but then
>> about 10-20 seconds after the deployment says it's ready for work, the
>> threads start to die.  The following error message appears in the log file
>> 5 times.
>>
>>
>>
>> org.apache.uima.UIMARuntimeException: The method
>> CasManager.defineCasPool() was called twice by the same Analysis Engine
>> (PrimitiveAEService).
>> at
>> org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:183)
>> at
>> org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:153)
>> at
>> org.apache.uima.aae.EECasManager_impl.defineCasPool(EECasManager_impl.java:56)
>> at
>> org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:97)
>> at
>> org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:81)
>> at
>> org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:77)
>> at
>>
>> org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize(PrimitiveAnalysisEngineController_impl.java:303)
>> at
>> org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.initializeAnalysisEngine(PrimitiveAnalysisEngineController_impl.java:211)
>> at
>> org.apache.uima.aae.UimaAsThreadFactory$1.run(UimaAsThreadFactory.java:114)
>> at java.lang.Thread.run(Thread.java:722)
>>
>> 11:40:25.256 - 23:
>> org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize:
>> WARNING: Service:
>> /usr/local/share/applications/uima-as/pear/MgrsRegularExpressionAnnotator
>> Runtime Exception
>> 11:40:25.256 - 23:
>> org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize:
>> WARNING:
>> org.apache.uima.aae.error.AsynchAEException:
>> org.apache.uima.UIMARuntimeException: The method CasManager.defineCasPool()
>> was called twice by the same
>> Analysis Engine (PrimitiveAEService).
>> at
>> org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize(PrimitiveAnalysisEngineController_impl.java:333)
>> at
>> org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.initializeAnalysisEngine(PrimitiveAnalysisEngineController_impl.java:211)
>> at
>> org.apache.uima.aae.UimaAsThreadFactory$1.run(UimaAsThreadFactory.java:114)
>> at java.lang.Thread.run(Thread.java:722)
>> Caused by: org.apache.uima.UIMARuntimeException: The method
>> CasManager.defineCas

Re: Error when deploying 5 instances of AE with External Resource, UIMA-AS 2.4.1 Snapshot

2013-06-06 Thread Jaroslaw Cwiklik
I frequently run UIMA-AS with scaled up AEs in the same jvm with no
problems. The UIMA-AS calls defineCasPool() once
when all AEs are instantiated.

The uima-core code that throws the exception is in
CasManager_impl.defineCasPool()

 private synchronized void defineCasPool(UimaContext aRequestorContext,
String aRequestorContextName, int aMinimumSize,
  Properties aPerformanceTuningSettings) throws
ResourceInitializationException {
 *   int poolSize = getCasPoolSize(aRequestorContextName, aMinimumSize);*
*if (poolSize > 0) {*
  CasPool pool = (CasPool)
mRequestorToCasPoolMap.get(aRequestorContextName);
  if (pool == null) {
// this requestor hasn't requested a CAS before
pool = new CasPool(poolSize, this, aPerformanceTuningSettings);
populateCasToCasPoolAndUimaContextMaps(pool, aRequestorContext);
mRequestorToCasPoolMap.put(aRequestorContextName, pool);
//register with JMX
registerCasPoolMBean(aRequestorContextName, pool);

  } else {
  *  throw new
UIMARuntimeException(UIMARuntimeException.DEFINE_CAS_POOL_CALLED_TWICE,*
*new Object[] { aRequestorContextName });*
  }
}
  }

So it looks like something else is calling this method before UIMA-AS does.
You may need to run UIMA-AS in a debugger
to determine what is happening. Just set a break point in defineCasPool and
back trace the call.

Jerry C


On Wed, Jun 5, 2013 at 9:27 PM, GATE User  wrote:

> Here's some additional information:
>
> I recent got the error after commenting out the part of the initialize
> code that gets the external resource, so it might not be connected to that
> after all.  I am also running this the broker and delegates in VirtualBox
> VMs.  Thanks in advance.
>
>
> 
>  From: GATE User 
> To: "user@uima.apache.org" 
> Sent: Wednesday, June 5, 2013 1:10 PM
> Subject: Error when deploying 5 instances of AE with External Resource,
> UIMA-AS 2.4.1 Snapshot
>
>
> Hello all:
>
> I declared a external resource and deployed the analysis engine with 5
> replicated instances on UIMA-AS 2.4.1 snapshot that I compiled from the svn
> repo for uima-as (trunk).  Deployment seems to go fine at first, but then
> about 10-20 seconds after the deployment says it's ready for work, the
> threads start to die.  The following error message appears in the log file
> 5 times.
>
>
>
> org.apache.uima.UIMARuntimeException: The method
> CasManager.defineCasPool() was called twice by the same Analysis Engine
> (PrimitiveAEService).
> at
> org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:183)
> at
> org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:153)
> at
> org.apache.uima.aae.EECasManager_impl.defineCasPool(EECasManager_impl.java:56)
> at
> org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:97)
> at
> org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:81)
> at
> org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:77)
> at
>
> org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize(PrimitiveAnalysisEngineController_impl.java:303)
> at
> org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.initializeAnalysisEngine(PrimitiveAnalysisEngineController_impl.java:211)
> at
> org.apache.uima.aae.UimaAsThreadFactory$1.run(UimaAsThreadFactory.java:114)
> at java.lang.Thread.run(Thread.java:722)
>
> 11:40:25.256 - 23:
> org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize:
> WARNING: Service:
> /usr/local/share/applications/uima-as/pear/MgrsRegularExpressionAnnotator
> Runtime Exception
> 11:40:25.256 - 23:
> org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize:
> WARNING:
> org.apache.uima.aae.error.AsynchAEException:
> org.apache.uima.UIMARuntimeException: The method CasManager.defineCasPool()
> was called twice by the same
> Analysis Engine (PrimitiveAEService).
> at
> org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize(PrimitiveAnalysisEngineController_impl.java:333)
> at
> org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.initializeAnalysisEngine(PrimitiveAnalysisEngineController_impl.java:211)
> at
> org.apache.uima.aae.UimaAsThreadFactory$1.run(UimaAsThreadFactory.java:114)
> at java.lang.Thread.run(Thread.java:722)
> Caused by: org.apache.uima.UIMARuntimeException: The method
> CasManager.defineCasPool() was called twice by the same Analysis Engine
> (PrimitiveAEService).
> at
> org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:183)
> at
> org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:153)
> at
>
> org.apache.uima.aae.EECasManager_impl.defineCasPool(EECasManager_impl.java:56)
> at

Re: Error when deploying 5 instances of AE with External Resource, UIMA-AS 2.4.1 Snapshot

2013-06-05 Thread GATE User
Here's some additional information:

I recent got the error after commenting out the part of the initialize code 
that gets the external resource, so it might not be connected to that after 
all.  I am also running this the broker and delegates in VirtualBox VMs.  
Thanks in advance.



 From: GATE User 
To: "user@uima.apache.org"  
Sent: Wednesday, June 5, 2013 1:10 PM
Subject: Error when deploying 5 instances of AE with External Resource, UIMA-AS 
2.4.1 Snapshot
 

Hello all:

I declared a external resource and deployed the analysis engine with 5 
replicated instances on UIMA-AS 2.4.1 snapshot that I compiled from the svn 
repo for uima-as (trunk).  Deployment seems to go fine at first, but then about 
10-20 seconds after the deployment says it's ready for work, the threads start 
to die.  The following error message appears in the log file 5 times.



org.apache.uima.UIMARuntimeException: The method CasManager.defineCasPool() was 
called twice by the same Analysis Engine (PrimitiveAEService).
    at 
org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:183)
    at 
org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:153)
    at 
org.apache.uima.aae.EECasManager_impl.defineCasPool(EECasManager_impl.java:56)
    at 
org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:97)
    at 
org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:81)
    at 
org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:77)
    at
org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize(PrimitiveAnalysisEngineController_impl.java:303)
    at 
org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.initializeAnalysisEngine(PrimitiveAnalysisEngineController_impl.java:211)
    at 
org.apache.uima.aae.UimaAsThreadFactory$1.run(UimaAsThreadFactory.java:114)
    at java.lang.Thread.run(Thread.java:722)

11:40:25.256 - 23: 
org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize:
 WARNING: Service: 
/usr/local/share/applications/uima-as/pear/MgrsRegularExpressionAnnotator 
Runtime Exception  
11:40:25.256 - 23: 
org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize:
 WARNING: 
org.apache.uima.aae.error.AsynchAEException: 
org.apache.uima.UIMARuntimeException: The method CasManager.defineCasPool() was 
called twice by the same
Analysis Engine (PrimitiveAEService).
    at 
org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize(PrimitiveAnalysisEngineController_impl.java:333)
    at 
org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.initializeAnalysisEngine(PrimitiveAnalysisEngineController_impl.java:211)
    at 
org.apache.uima.aae.UimaAsThreadFactory$1.run(UimaAsThreadFactory.java:114)
    at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.uima.UIMARuntimeException: The method 
CasManager.defineCasPool() was called twice by the same Analysis Engine 
(PrimitiveAEService).
    at 
org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:183)
    at 
org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:153)
    at
org.apache.uima.aae.EECasManager_impl.defineCasPool(EECasManager_impl.java:56)
    at 
org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:97)
    at 
org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:81)
    at 
org.apache.uima.aae.AsynchAECasManager_impl.initialize(AsynchAECasManager_impl.java:77)
    at 
org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.postInitialize(PrimitiveAnalysisEngineController_impl.java:303)
    ... 3 more
I am getting the external resource with:

public void initialize(UimaContext aContext) throws 
ResourceInitializationException {
        ...

        //External Resources
        try {
            map = (StringMapResource) 
aContext.getResourceObject(exResourceGridZoes);
        } catch (ResourceAccessException e) {
            aContext.getLogger().log(Level.INFO, "Valid makers file not 
accessible.");
            throw new ResourceInitializationException();
        }
        ...
};

and the analysis engine descriptor has the following:


    
  ValidGridZones
  A list of valid grid zones.
  
uima.resources.implementations.StringMapResource_Impl
  false
    
  
  
    
  
    ValidGridZonesFile
    A two-column text file that lists all valid grid zones and 
whether the the zone is a normal one or a split one.
    
  file:uima/resources/file/gridzones
    
    
uima.resources.implementations.StringMapResource_Impl
  
    
    
  
    ValidGridZones
    ValidMakersFile
  
    
  

I am using the StringMapResource code that was in the examples, modified to use 
a