[
https://issues.apache.org/jira/browse/OOZIE-1778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14011926#comment-14011926
]
Purshotam Shah commented on OOZIE-1778:
---------------------------------------
{quote}
wouldn't StatusTransitService take care of this scenario since the bundle's
pending is set? There's ActionCheckerService running periodically for this
purpose too. We should enhance it for bundle-action recovery. currently it only
does wf-action and coord-action checks
{quote}
I don't think StatusTransitService updates bundle action pending. It resets the
bundle pending based on bundle actions pending status.
ActionCheckerService check the status of running Hadoop jobs and update
action/wf status. Use-case is different here.
Why to wait for 5 min and update/rollback as part of service, if we can do same
thing as part of XCommand.
> Rollback option for XCommand
> ----------------------------
>
> Key: OOZIE-1778
> URL: https://issues.apache.org/jira/browse/OOZIE-1778
> Project: Oozie
> Issue Type: Bug
> Reporter: Purshotam Shah
>
> Currently if we issue a command at bundle level, which set the pending for
> bundle action and issue child command.
> If child command succeed, then it's all good. But if child command at
> pre-check or acquiring lock fails, then there is no way to update parent.
> In this scenario, bundle action and remain in pending and will cause
> unexpected behavior.
> We should do something like
> {code:java}
> XCommand.call() throws CommandException {
> try {
> eagerVerifyPrecondition();
> acquireLockCron.start();
> acquireLock();
> acquireLockCron.stop();
> loadState();
> verifyPrecondition();
> ret = execute();
> }
> catch(Throwable e){
> handleFailure();
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)