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/18 18:24:33 UTC

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

Jerry Cwiklik created UIMA-4866:
-----------------------------------

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