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)