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

UIMA-DUCC: Agent sets the state of process to Running

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.1.0-Ducc
    • Component/s: DUCC
    • Labels:
      None

      Description

      The agent wrongly sets a state of a child process to Running right after launch. This should only be done for processes which don't report their internal state transitions to the agent (JDs and APs).

      When a child process is launched (JP or UIMA-AS service), it immediately reports back to the agent its state as Initializing. The agent updates the child state in its internal process list and when publish inventory event is triggered the right info is communicated to the OR ( process in Initializing state).

      There is a race condition which produces erroneous state. In this scenario, a child process is launched, its state is set to Running, and before the process reports its state, the publish inventory is triggered and the OR is told that the process is running. Subsequent to that, the process sends a state update to its Agent telling it that its state=Initializing. The agent updates internal state of this process and publishes that state on the next publish inventory event. The problem is that the OR does not go back to Initializing once it sees a process in Running state. This is of course the right behavior.

      Change the agent to set process state to Running for JDs and APs only. The other types are subject to reported state transitions with initial state=Starting.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: