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