Just to double check, your decision node is in a fork-join, right?  If so,
Mona is correct and OOZIE-1403 will fix this.  Otherwise, you shouldn't be
seeing this issue at all.

In the meantime, assuming its in a fork-join, you can disable the extra
fork-join checking code that's causing this issue by setting
oozie.validate.ForkJoin to false in your oozie-site.xml.  This will turn it
off for all workflows, so please be careful not to make a truely
"problematic" fork-join workflows.  If you have Oozie 3.3.2 or later, you
can instead turn it off for just a specific workflow instead of all of them
by specifying oozie.wf.validate.ForkJoin=false in your job.properties.


thanks
- Robert


On Wed, Aug 28, 2013 at 1:23 PM, Mona Chitnis <[email protected]> wrote:

> In trunk, we have fixed OOZIE-1403 forkjoin validation blocks some valid
> cases involving decision nodes. This will go in Oozie version 4.1.0 yet
> unreleased.
>
> --Mona
>
> On 8/27/13 4:10 AM, "Miljan Markovic" <[email protected]> wrote:
>
> >Hi,
> >
> >I have the following snippet in my oozie workflow
> >
> >     <decision name="decideDeleteTemp">
> >         <switch>
> >             <case to="cleanupTemp">${deleteTemp}</case>
> >             <default to="emailOk" />
> >         </switch>
> >     </decision>
> >     <action name="cleanupTemp">
> >         <fs>
> >             <delete path="${tempPath}" />
> >         </fs>
> >         <ok to="end" />
> >         <error to="emailError" />
> >     </action>
> >     <action name="emailOk">
> >         <email xmlns="uri:oozie:email-action:0.1">
> >             <to>[email protected]</to>
> >             <subject>mySubject</subject>
> >             <body>myBody</body>
> >         </email>
> >         <ok to="end" />
> >         <error to="end" />
> >     </action>
> >
> >Basically, a decision node controls whether to delete temp files based
> >on a variable and after that email is sent in all cases.
> >
> >The problem is that this causes the following error:
> >
> >    Error: E0743 : E0743: Multiple "ok to" transitions to the same node,
> >    [emailOk], are not allowed
> >
> >Now, I understand that in action sequence there must be only one
> >transition to some node so that it is guaranteed that a node will be
> >executed only once. But decision node above also forces an emailOk
> >action to be executed only once since it will either transition directly
> >to emailOk or to cleanupTemp which will afterwards transition to emailOk.
> >
> >Is this perhaps a bug or was it intentional? Is there a way to work
> >around this limitation?
> >
> >Thanks,
> >Miljan
> >
>
>

Reply via email to