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/04/01 17:27:15 UTC

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

     [ https://issues.apache.org/jira/browse/UIMA-3713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik closed UIMA-3713.
-------------------------------

    Resolution: Fixed

Modified OR to add sequence number to its state publications. The PM preserves the sequence and adds it to its state publications to the agents. An agent checks if received sequence is larger from the one it received on a previous state update. If current sequence is large processing continues. Otherwise, the agent drops the message as the message came out of order.


> 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)