UIMA
  1. UIMA
  2. UIMA-2162

Fix UIMA AS race condition allowing parent CAS to hit the Flow Controller ahead of its child CASes

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.3.1AS
    • Fix Version/s: 2.4.0AS
    • Component/s: Async Scaleout
    • Labels:
      None

      Description

      A race condition exists in the UIMA AS Aggregate with a scaled up reply queue. Multiple, concurrent threads consuming CASes produced by a Cas Multiplier execute at different speeds (most likely due to different de-serialization times) allowing for a parent CAS to call Flow Controller's next() method before all of its child CASes obtain their Flow objects. Add necessary synchronization to orchestrate orderly flow of CASes to make sure that the parent CAS never reaches the Flow Controller ahead of its children.

        Activity

        Hide
        Jerry Cwiklik added a comment -

        Modified UIMA AS aggregate to prevent a parent CAS from accessing its Flow object until all child CASes obtain their Flow objects.

        Show
        Jerry Cwiklik added a comment - Modified UIMA AS aggregate to prevent a parent CAS from accessing its Flow object until all child CASes obtain their Flow objects.

          People

          • Assignee:
            Jerry Cwiklik
            Reporter:
            Jerry Cwiklik
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development