UIMA AS processParentLast logic is not working correctly
--------------------------------------------------------
Key: UIMA-1797
URL: https://issues.apache.org/jira/browse/UIMA-1797
Project: UIMA
Issue Type: Bug
Components: Async Scaleout
Affects Versions: 2.3AS
Reporter: Jerry Cwiklik
Assignee: Jerry Cwiklik
UIMA AS aggregate fails with NPE when using multiple CMs configured with
processParentLast=true. The aggregate throws this:
java.lang.NullPointerException
at
org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.forceToDropTheCas(AggregateAnalysisEngineController_impl.java:1822)
at
org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.finalStep(AggregateAnalysisEngineController_impl.java:1624)
at
org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.finalStep(AggregateAnalysisEngineController_impl.java:1714)
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)
It does not matter if CMs are colocated or remote. If there is more than one CM
with processParentLast=true, the code fails as above. The failure seems to
occur while processing parent of the last child CAS.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.