fix: Consider all children of TaskGroups in DAGs #3740
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #3739
Fixes #3780
Bug came to be because:
Since Task A had no expanded tasks, its children were actually normal tasks (Task B) instead of the expected expanded tasks. Since we previously used a "shortcut" by skipping over the expanded tasks (i.e. queuing only the children of children of TaskGroup nodes), we never considered Task B.
Since we can't tell when a TaskGroup's children are expanded tasks or normal tasks, we remove our use of the "shortcut" and always queue all children of TaskGroups. This is not a significant performance hindrance since the unique queue introduced in #3418 is able to handle this case well.