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

Extract more exact provider name when checking for destroy cycles #31917

Merged
merged 2 commits into from
Oct 4, 2022

Conversation

jbardin
Copy link
Member

@jbardin jbardin commented Sep 30, 2022

When we checked for cycles with destroy edges around providers, it was only for providers of a different type, but one can do the same thing with the same provider under different local aliases. Check to see if the provider also contains an alias, or is defined absolutely in some other way. The absolute accuracy here isn't critical, since in most cases these edges are not required for correct results, but finding a correct and consistent method for determining when these edges are needed is going to take more research.

There was also an oversight fixed here where the basic creator->destroyer edges were added after the cycle checks, limiting their utility. The ordering of the additions was swapped to make sure all cycles are noticed.

Fixes #31843

@jbardin jbardin added the 1.3-backport If you add this label to a PR before merging, backport-assistant will open a new PR once merged label Sep 30, 2022
@jbardin jbardin requested a review from a team September 30, 2022 17:34
@jbardin jbardin self-assigned this Oct 3, 2022
When we checked for cycles with destroy edges around providers, it was
only for providers of a different type, but one can do the same thing
with the same provider under different local aliases. Check to see if
the provider also contains an alias, or is defined absolutely in some
other way. The absolute accuracy here isn't critical, since in most
cases these edges are not required for correct results, but finding a
correct and consistent method for determining when these edges are
needed is going to take more research.

There was also an oversight fixed here where the basic
creator->destroyer edges were added _after_ the cycle checks, limiting
their utility. The ordering of the additions was swapped to make sure
all cycles are noticed.
@jbardin jbardin force-pushed the jbardin/destroy-edge-cycles branch from adfe965 to c296172 Compare October 4, 2022 14:59
@jbardin jbardin merged commit c1e0b04 into main Oct 4, 2022
@jbardin jbardin deleted the jbardin/destroy-edge-cycles branch October 4, 2022 15:06
@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2022

Reminder for the merging maintainer: if this is a user-visible change, please update the changelog on the appropriate release branch.

@samart
Copy link

samart commented Oct 26, 2022

This seems to fix a cycle error we got while trying to upgrade from 0.14.11 to 1.0.8. cycle error in 1.x, 1.1.x, 1.2.x.

@github-actions
Copy link
Contributor

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 26, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
1.3-backport If you add this label to a PR before merging, backport-assistant will open a new PR once merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

strange cycle errors in 1.3.0
3 participants