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

Uima aggregate with embedded Cas Multiplier fails if one attempts to create multiple instances of it in the same JVM

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.2.2
    • 2.3
    • Core Java Framework
    • None

    Description

      When trying to scale Uima aggregate with a Cas Multiplier in the same JVM, the code fails with the following:

      org.apache.uima.analysis_engine.AnalysisEngineProcessException: The
      method CasManager.defineCasPool() was called twice by the same Analysis
      Engine

      This is due to the fact that the CasManager creates a single CAS pool for any given Cas Multiplier, no matter how many instances of it are created. The first instance of a particular CM creates a CAS Pool and the pool is associated with that instance using a CM's qualified name obtained from the component's uima context. The second instance of the same CM fails, since its trying to create another CAS pool with the same qualified name as the first instance.

      Create and assign a unique name in the Uima context for each instance of a component. Use the unique name when calling defineCasPool() so that every instance of the CM component creates its own CAS pool.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: