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

repro: fix bug in _get_active_graph #3301

Merged
merged 1 commit into from
Feb 10, 2020
Merged

Conversation

efiop
Copy link
Contributor

@efiop efiop commented Feb 10, 2020

We are currently removing all of the deps stages from the DAG even if
those deps are referenced by some parallel branches of execution.
The new approach is to remove edges and then gradually remove nodes if
there are no more in edges left.

Discord context:
https://discordapp.com/channels/485586884165107732/485596304961962003/676464313942409265

  • ❗ Have you followed the guidelines in the Contributing to DVC list?

  • 📖 Check this box if this PR does not require documentation updates, or if it does and you have created a separate PR in dvc.org with such updates (or at least opened an issue about it in that repo). Please link below to your PR (or issue) in the dvc.org repo.

  • ❌ Have you checked DeepSource, CodeClimate, and other sanity checks below? We consider their findings recommendatory and don't expect everything to be addressed. Please review them carefully and fix those that actually improve code or fix bugs.

Thank you for the contribution - we'll try to review it as soon as possible. 🙏

@efiop efiop added the p0-critical Critical issue. Needs to be fixed ASAP. label Feb 10, 2020
@efiop efiop self-assigned this Feb 10, 2020
@efiop
Copy link
Contributor Author

efiop commented Feb 10, 2020

For the record: Waiting for confirmation from the user.

@efiop efiop changed the title repro: fix bug in _get_active_graph [WIP] repro: fix bug in _get_active_graph Feb 10, 2020
Copy link
Contributor Author

@efiop efiop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No-target case needs re-consideration, as it will leave disconnected stages as a subgraph, which we don't actually want to reproduce. Looking into it.

EDIT: No, it doesn't, as we always require a target. Need to think about active_pipelines (e.g. --all-pipelines) after this patch though, as they will now see parts that were previously cut-off.

@mdekstrand
Copy link

Original bug reporter here - I have tested this change in my repository, and it now works as expected.

@efiop efiop changed the title [WIP] repro: fix bug in _get_active_graph repro: fix bug in _get_active_graph Feb 10, 2020
@efiop efiop force-pushed the mdekstrand_bug branch 2 times, most recently from cb2634c to bc6e346 Compare February 10, 2020 22:26
We are currently removing all of the deps stages from the DAG even if
those deps are referenced by some parallel branches of execution.
The new approach is to remove edges and then gradually remove nodes if
there are no more `in` edges left.

Discord context:
https://discordapp.com/channels/485586884165107732/485596304961962003/676464313942409265
@efiop efiop merged commit 2361bce into iterative:master Feb 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p0-critical Critical issue. Needs to be fixed ASAP.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants