Uploaded image for project: '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
    • Status: Closed
    • Priority: 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
        cwiklik 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
        cwiklik 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:
            cwiklik Jerry Cwiklik
            Reporter:
            cwiklik Jerry Cwiklik
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development