Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Consider all children of TaskGroups in DAGs #3740

Merged
merged 2 commits into from
Aug 19, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions workflow/controller/dag.go
Original file line number Diff line number Diff line change
Expand Up @@ -158,12 +158,9 @@ func (d *dagContext) assessDAGPhase(targetTasks []string, nodes wfv1.Nodes) wfv1
}
}

if node.Type == wfv1.NodeTypeRetry || node.Type == wfv1.NodeTypeTaskGroup {
if node.Type == wfv1.NodeTypeRetry {
// A fulfilled Retry node will always reflect the status of its last child node, so its individual attempts don't interest us.
// To resume the traversal, we look at the children of the last child node.
// A TaskGroup node will always reflect the status of its expanded tasks (mainly it will be Succeeded if and only if all of its
// expanded tasks have succeeded), so each individual expanded task doesn't interest us. To resume the traversal, we look at the
// children of its last child node (note that this is arbitrary, since all expanded tasks will have the same children).
if childNode := getChildNodeIndex(&node, nodes, -1); childNode != nil {
uniqueQueue.add(generatePhaseNodes(childNode.Children, branchPhase)...)
}
Expand Down
Loading