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 2016/03/21 20:54:25 UTC

[jira] [Closed] (UIMA-4866) UIMA DUCC: Agent rogue detector not working

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

Jerry Cwiklik closed UIMA-4866.
-------------------------------
    Resolution: Fixed

Updated code to prevent the counter from getting negative 

> UIMA DUCC: Agent rogue detector not working
> -------------------------------------------
>
>                 Key: UIMA-4866
>                 URL: https://issues.apache.org/jira/browse/UIMA-4866
>             Project: UIMA
>          Issue Type: Bug
>          Components: DUCC
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>             Fix For: 2.1.0-Ducc
>
>
> Looks like the rogue process detector does not actually initiate process kill when it detects a rogue process. 
> The detector does not mark a rogue process for kill immediately upon detection. It supposed to mark it for death on 3rd iteration (detection). This is done due to an asynchronous nature of the detector. It runs in a thread driven by timer. It needs to reconcile processes it finds with information sent by the OR which includes reservations. So the rogue process detector does not mark anything for death until it sees OR state.
> The bug in the code is in RogueProcessReaper:
>         if ((counter = entry.countDown()) == 0 && !entry.isKilled()) {
> if entry.countDown() returns a negative number the test fails and the process is not marked for death.
> The fix is to first check the counter to see if it is positive and only than decrement and test. 
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)