Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.3AS
-
None
Description
The following exception is thrown by UIMA AS aggregate:
org.apache.uima.aae.error.AsynchAEException: Cas Not Found In CasManager Cache. CasReferenceId::-701a2da0:12970a6839f:-7ffd is Invalid
at org.apache.uima.aae.InProcessCache.getCacheEntryForCAS(InProcessCache.java:477)
at org.apache.uima.aae.InProcessCache.getTopAncestorEndpoint(InProcessCache.java:469)
at org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.getReplyEndpoint(AggregateAnalysisEngineController_impl.java:2092)
at org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.replyToClient(AggregateAnalysisEngineController_impl.java:2018)
at org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.finalStep(AggregateAnalysisEngineController_impl.java:1647)
at org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.executeFlowStep(AggregateAnalysisEngineController_impl.java:2175)
at org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.process(AggregateAnalysisEngineController_impl.java:1207)
at org.apache.uima.aae.handler.HandlerBase.invokeProcess(HandlerBase.java:118)
at org.apache.uima.aae.handler.input.ProcessResponseHandler.cancelTimerAndProcess(ProcessResponseHandler.java:108)
at org.apache.uima.aae.handler.input.ProcessResponseHandler.handleProcessResponseWithCASReference(ProcessResponseHandler.java:383)
at org.apache.uima.aae.handler.input.ProcessResponseHandler.handle(ProcessResponseHandler.java:647)
at org.apache.uima.aae.handler.HandlerBase.delegate(HandlerBase.java:149)
at org.apache.uima.aae.handler.input.ProcessRequestHandler_impl.handle(ProcessRequestHandler_impl.java:989)
at org.apache.uima.aae.spi.transport.vm.UimaVmMessageListener.onMessage(UimaVmMessageListener.java:107)
at org.apache.uima.aae.spi.transport.vm.UimaVmMessageDispatcher$1.run(UimaVmMessageDispatcher.java:70)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
The scenario that leads to this problem involves Top Level Aggregate Cas Multiplier with a collocated Aggregate CM delegate which contains a Primitive CM. The problem is caused by a bug in the Aggregate code that handles new CASes arriving from a nested Aggregate CM. The new CAS is added to the Top Level Aggregate LocalCache but the code is not incrementing a parent child count, resulting in a premature release of the parent in the top level aggregate. Another side effect of this is that the new CAS is not removed from a local cache if a lookup of a parent CAS fails. This leads to a hang if the application sends a CPC, since there is a CAS in the cache that is not removed but the CPC is only processed if the cache becomes empty.