Fix intermittent problem with CAS release while running scaled up AE in UIMA AS
--------------------------------------------------------------------------------
Key: UIMA-2078
URL: https://issues.apache.org/jira/browse/UIMA-2078
Project: UIMA
Issue Type: Bug
Components: Async Scaleout, Core Java Framework
Reporter: Jerry Cwiklik
Assignee: Jerry Cwiklik
Fix For: 2.3.1AS
While running extended tests on Mac, the testScaledSyncAggregateProcess() test
failed with:
org.apache.uima.analysis_engine.AnalysisEngineProcessException:
CasManager.release(CAS) was called with a CAS that does not belong to this
CasManager.\
at
org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.processUntilNextOutputCas(ASB_impl.java:701)\
at
org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.<init>(ASB_impl.java:409)\
at
org.apache.uima.analysis_engine.asb.impl.ASB_impl.process(ASB_impl.java:342)\
at
org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:267)\
at
org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl.process(PrimitiveAnalysisEngineController_impl.java:514)\
at
org.apache.uima.aae.handler.HandlerBase.invokeProcess(HandlerBase.java:121)\
at
org.apache.uima.aae.handler.input.ProcessRequestHandler_impl.handleProcessRequestFromRemoteClient(ProcessRequestHandler_impl.java:474)\
at
org.apache.uima.aae.handler.input.ProcessRequestHandler_impl.handle(ProcessRequestHandler_impl.java:952)\
at
org.apache.uima.aae.handler.input.MetadataRequestHandler_impl.handle(MetadataRequestHandler_impl.java:78)\
at
org.apache.uima.adapter.jms.activemq.JmsInputChannel.onMessage(JmsInputChannel.java:702)\
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:535)\
at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:495)\
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)\
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)\
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)\
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1056)\
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:952)\
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)\
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)\
at
org.apache.uima.aae.UimaAsThreadFactory$1.run(UimaAsThreadFactory.java:106)\
at java.lang.Thread.run(Thread.java:680)\
Caused by: org.apache.uima.UIMARuntimeException: CasManager.release(CAS) was
called with a CAS that does not belong to this CasManager.\
at
org.apache.uima.resource.impl.CasManager_impl.releaseCas(CasManager_impl.java:131)\
at
org.apache.uima.cas.AbstractCas_ImplBase.release(AbstractCas_ImplBase.java:35)\
at org.apache.uima.cas.impl.CASImpl.release(CASImpl.java:3604)\
at org.apache.uima.cas.impl.CASImpl.release(CASImpl.java:3602)\
at
org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.processUntilNextOutputCas(ASB_impl.java:689)\
The above test deploys 5 instances of synchronous aggregate containing a CM and
a NoOp Annotator. The CM generates 1 CAS for each input CAS. Total of 5 CASes
are sent to the service for processing. Some of the CASes are processed and
returned back to the client. I am not totally sure what the problem is at this
time. It seems like the ASB is trying to release a child CAS when the above
exception occurs. All instances of sync aggregates share Resource Manager
containing common CasManager. Unable to reproduce this problem on Linux,
Windows or Mac.
Postponing fix beyond 2.3.1 release
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira