[ https://issues.apache.org/jira/browse/OOZIE-3350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16723087#comment-16723087 ]
Peter Bacsko edited comment on OOZIE-3350 at 12/17/18 3:37 PM: --------------------------------------------------------------- [~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. was (Author: pbacsko): [~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)