You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Robert Kanter (JIRA)" <ji...@apache.org> on 2017/06/01 21:37:04 UTC

[jira] [Commented] (OOZIE-2915) Fix race conditon in check() methods and rewrite check() logic

    [ https://issues.apache.org/jira/browse/OOZIE-2915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16033738#comment-16033738 ] 

Robert Kanter commented on OOZIE-2915:
--------------------------------------

It's been a while since I looked at this code, but maybe we could just always check the status of the parent and child jobs and only consider it successful when both succeed?  That would simplify the logic and should get rid of the race condition.

> Fix race conditon in check() methods and rewrite check() logic
> --------------------------------------------------------------
>
>                 Key: OOZIE-2915
>                 URL: https://issues.apache.org/jira/browse/OOZIE-2915
>             Project: Oozie
>          Issue Type: Sub-task
>            Reporter: Peter Bacsko
>
> There is a race condition inside {{MapReduceActionExecutor.check()}}.
> Comment from Rohini:
> bq. This code will have race condition issues. super.check() will check the status of launcher AM if action data file is not found. While it starts the check, if it completes then it will read the NEW_ID from action data and mark the action as completed even though the mapreduce job is just launched and is still running.
> Also the existing logic is convoluted and complex, hard to test. It should be refactored so we can validate the correctness of different code paths.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)