You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Peter Bacsko (JIRA)" <ji...@apache.org> on 2018/12/17 15:38:00 UTC

[jira] [Commented] (OOZIE-3350) Forkjoin validation does not fail if a node is reachable from two different forks

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

Peter Bacsko commented on OOZIE-3350:
-------------------------------------

[~andras.piros] basically the idea is what I outlined above: for every {{fork}} node, we maintain a list of nodes seen so far. So, we introduce a map like {{Map<ForkNodeDef, Set<NodeDef>}}. Every node which is not a fork should belong to one and only one {{ForkNodeDef}}. If it belongs to two, then we have a problem.

> Forkjoin validation does not fail if a node is reachable from two different forks
> ---------------------------------------------------------------------------------
>
>                 Key: OOZIE-3350
>                 URL: https://issues.apache.org/jira/browse/OOZIE-3350
>             Project: Oozie
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 4.3.1
>            Reporter: wang jinyin
>            Assignee: Julia Kinga Marton
>            Priority: Major
>             Fix For: trunk
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> when "multiple ok to same node" under decision node, forkjoin validation error.
>  
> such as below example, 'action_C' and 'action_D' both transition to 'action_E'.
> But, because they are under same topDecisionParent 'decision_A', validator will not throw any exception. 
>  
> {quote}<decision name = 'decision_A'>
>     <case to = 'fork_B'></case>
>     <case to = 'action_G'></case>
> </decision>
> <fork name = 'fork_B'>
>     <path start = 'action_C'/>
>     <path start = 'action_D'/>
> </fork>
> <action name = 'action_C'>
>     <ok to = 'action_E'>
>     <error to = 'kill'>
> </action>
> <action name = 'action_D'>
>     <ok to = 'action_E'>
>     <error to = 'kill'>
> </action>
> <action name = 'action_E'>
>     <ok to = 'join_F'>
>     <error to = 'kill'>
> </action>
> <join name = 'join_F'>
>     <ok to = 'action_H'>
>     <error to = 'kill'>
> </join>
> <action name = 'action_G'>
>     <ok to = 'action_H'>
>     <error to = 'kill'>
> </action>
> <action name = 'action_H'>
>     <ok to = 'end'>
>     <error to = 'kill'>
> </action>
> {quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)