[ 
https://issues.apache.org/jira/browse/OOZIE-1778?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Purshotam Shah updated OOZIE-1778:
----------------------------------

    Description: 
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}

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

Reply via email to