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)