You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Jerry Cwiklik (JIRA)" <de...@uima.apache.org> on 2014/03/31 22:21:16 UTC

[jira] [Created] (UIMA-3713) Modify DUCC to deal with out of order messages

Jerry Cwiklik created UIMA-3713:
-----------------------------------

             Summary: Modify DUCC to deal with out of order messages
                 Key: UIMA-3713
                 URL: https://issues.apache.org/jira/browse/UIMA-3713
             Project: UIMA
          Issue Type: Bug
          Components: DUCC
    Affects Versions: 1.0-Ducc
            Reporter: Jerry Cwiklik
            Assignee: Jerry Cwiklik


Its been observed that an Agent killed a JD immediately after starting it. This happens rarely but does occur.Looking through the Agent log I see that multiple OR state updates arrive almost instantly. In one of the states the OR requests a new process to be started while in the second state the process doesnt even exist. So the agent first launches the process and then subsequently kills it as this indicates a ghost process. A ghost process is one that exists in the agent's inventory but is not present in the OR state update.

This is happening due to out of order messages. The OR generates its state updates at regular intervals (every 20 secs) and sends them to a jms topic. In this case, the PM fetches the update, trims it and sends it to agents. Not 100% sure, but it looks like there is some kind of a delay in a broker which causes messages to be held and than subsequently delivered in rapid succession. 

The agent should be able to cope with this. The OR should add a sequence number to each state it publishes. The PM should forward this sequence when it sends a trimmed state to the agents. The agent should compare received sequence against what it received on the previous  update.If the new sequence is larger than the previous one, processing should be allowed. If the new sequence is smaller then previous, the message should be discarded.




--
This message was sent by Atlassian JIRA
(v6.2#6252)