UIMA
  1. UIMA
  2. UIMA-1786

UIMA AS aggregate CM hangs due to client not sending Free Cas Request

    Details

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

      Description

      The UIMA AS client is not handling expired CASes coming from a Cas Multiplier aggregate.The scenario leading to a problem is as follows:

      The aggregate CM is configured with a single thread in a listener processing Process and CPC requests. The client is configured to timeout before the service sends a child CAS. The client is configured with no CPC timeout.

      UIMA AS client sends a CAS to an aggregate CasMultiplier which takes a long time to process (or there is a long GC). Before any child CASes are sent to a client, the client times out and sends a CPC. A bit later, the aggregate CM sends a child CAS. The client receives the CAS and finds that its parent CAS has expired. The client logs a message and ignores the CAS. The client is NOT sending the free Cas request to the aggregate CM, causing the aggregate to hang waiting for all of its CASes to be processed. Since the Free CAS never comes, the aggregate internal state is never updated and the thread processing the CPC is stuck (hangs). Modify UIMA AS client code to always send free cas request to a CM service.

        Activity

        Jerry Cwiklik created issue -
        Jerry Cwiklik made changes -
        Field Original Value New Value
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]
        Marshall Schor made changes -
        Fix Version/s 2.3.1AS [ 12315335 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development