Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-1580

Synchronize AsynchAECasManager initialize() method to fix NPE while merging type systems

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.3AS
    • Async Scaleout
    • None

    Description

      A NPE exception occurs intermittently while merging type systems. There seems to be a race condition where multiple threads attempt to initialize cas pools. The result is an exception that looks like this:

      org.apache.uima.aae.error.AsynchAEException: java.lang.NullPointerException
      at org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.mergeTypeSystem(AggregateAnalysisEngineController_impl.java:2430)
      at org.apache.uima.aae.handler.input.MetadataResponseHandler_impl.handle(MetadataResponseHandler_impl.java:140)
      at org.apache.uima.aae.handler.input.MetadataRequestHandler_impl.handle(MetadataRequestHandler_impl.java:78)
      at org.apache.uima.aae.handler.HandlerBase.delegate(HandlerBase.java:149)
      at org.apache.uima.aae.handler.input.ProcessResponseHandler.handle(ProcessResponseHandler.java:664)
      at org.apache.uima.aae.handler.HandlerBase.delegate(HandlerBase.java:149)
      at org.apache.uima.aae.handler.input.ProcessRequestHandler_impl.handle(ProcessRequestHandler_impl.java:951)
      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)
      Caused by: java.lang.NullPointerException
      at org.apache.uima.resource.CasDefinition.<init>(CasDefinition.java:66)
      at org.apache.uima.resource.impl.CasManager_impl.getCasDefinition(CasManager_impl.java:94)
      at org.apache.uima.resource.impl.CasManager_impl.createNewCas(CasManager_impl.java:196)
      at org.apache.uima.util.CasPool.fillPool(CasPool.java:319)
      at org.apache.uima.util.CasPool.<init>(CasPool.java:191)
      at org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:174)
      at org.apache.uima.resource.impl.CasManager_impl.defineCasPool(CasManager_impl.java:161)

      Attachments

        Activity

          People

            cwiklik Jaroslaw Cwiklik
            cwiklik Jaroslaw Cwiklik
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: