You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Bowen Zhang (JIRA)" <ji...@apache.org> on 2014/05/03 23:27:15 UTC

[jira] [Commented] (OOZIE-1319) "LAST_ONLY" in execution control for coordinator job still runs all the actions

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

Bowen Zhang commented on OOZIE-1319:
------------------------------------

two things here:
* A job with frequency of 10 mins and starts from 10 am till 12 pm. Say, none of the data dependency is fulfilled. Your code will break if all of the data dependencies are fulfilled between 10:55 am and 11am. Since at 10:55 am, you SKIPPED all actions in the first hour and materialize all future actions. But by definition, if all data dependencies are available at 10:56 am, then, the action at 10:50 am should run.
* This is a bigger issue with your change in CoordActionReadyXCommand. Say, a job with 10 mins frequency starts from 10 am to 11am. And all the data dependencies are realized at 10:35 am. So by definition, actions at 10:00, 10:10, and 10:20 will be SKIPPED. But, do you realize that CoordActionReadyXCommand is invoked per action in CoordActionInputCheckXCommand right after each action is set to READY? And the query "GET_COORD_ACTIONS_WAITING_SUBMITTED_OLDER_THAN" has no order preference. As a result, all your "for loop" in ReadyXCommand will only contain one action which you set to SUBMITTED. It's very likely at the end, all actions will be run.

> "LAST_ONLY" in execution control for coordinator job still runs all the actions
> -------------------------------------------------------------------------------
>
>                 Key: OOZIE-1319
>                 URL: https://issues.apache.org/jira/browse/OOZIE-1319
>             Project: Oozie
>          Issue Type: Bug
>            Reporter: Bowen Zhang
>            Assignee: Robert Kanter
>         Attachments: OOZIE-1319.patch, OOZIE-1319.patch, OOZIE-1319.patch, OOZIE-1319.patch, oozie-1319.patch
>
>
> In execute() of CoordJobGetReadyActionsJPAExecutor.java, once we retrieve the top item from a "LIFO" query result, we do not discard or delete the remaining items from the result list. As a result, the next time execute() is invoked, we will be retrieving the next item in line. Consequently, LAST_ONLY strategy will also execute all ready actions for a given coordinator job, making it no different than LIFO.



--
This message was sent by Atlassian JIRA
(v6.2#6252)