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

More dependency graph resolver fixes #6026

Merged
merged 3 commits into from
Sep 13, 2024
Merged

More dependency graph resolver fixes #6026

merged 3 commits into from
Sep 13, 2024

Conversation

jeffkl
Copy link
Contributor

@jeffkl jeffkl commented Sep 12, 2024

Bug

Fixes:

Description

These changes address issues found around transitive pinning and slowness when downloading packages.

When a package is transitively pinned, NuGet does not honor PrivateAssets=All and instead just adds those packages.

To make package downloads happen in parallel, the algorithm now queues a background thread which fetches the package. Later on, the item is taken off the top of the queue and the task is awaited. This makes all packages download in parallel for any given level like the legacy algorithm.

I also fixed an issue where the new algorithm was merging runtimes more than was necessary. It now uses a HashSet to keep track of which frameworks we have already processed runtime graphs for.

I've tested this with an experimental VS insertion and there is only one regression that we're going to get an exception for.

PR Checklist

  • Meaningful title, helpful description and a linked NuGet/Home issue
  • Added tests
  • Link to an issue or pull request to update docs if this PR changes settings, environment variables, new feature, etc.

@jeffkl jeffkl self-assigned this Sep 12, 2024
@jeffkl jeffkl marked this pull request as ready for review September 13, 2024 18:31
@jeffkl jeffkl requested a review from a team as a code owner September 13, 2024 18:31
@jeffkl jeffkl enabled auto-merge (squash) September 13, 2024 18:39
@jeffkl jeffkl merged commit 2982dbf into dev Sep 13, 2024
29 of 32 checks passed
@jeffkl jeffkl deleted the dev-jeffkl-fix2 branch September 13, 2024 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants