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

Multi-project restore should be resiliant to one project throwing an unhandled exception #13188

Open
zivkan opened this issue Jan 24, 2024 · 1 comment
Assignees
Labels
Category:Quality Week Issues that should be considered for quality week Functionality:Restore Priority:2 Issues for the current backlog. Type:Bug

Comments

@zivkan
Copy link
Member

zivkan commented Jan 24, 2024

See also #13085 (comment) and NuGet/NuGet.Client#5608 (review)

If a solution has multiple projects, and RestoreCommand throws an unhandled exception while restoring one project, there should be some kind of graceful error handling, and allow all other projects to restore.

In VS, since restore is triggered every build, this means a restore error could occur very frequently as customers try different things to fix their build. The VS activity log only retains a fixed number of errors, so we should not spam the activity log with the same error over and over. This might mean not reporting these unhandled restore exceptions in the activity log, and recording them another way for us to investigate.

@zivkan zivkan added Priority:2 Issues for the current backlog. Type:Bug Functionality:Restore Category:Quality Week Issues that should be considered for quality week labels Jan 24, 2024
@nkolev92
Copy link
Member

You bring up great points, maybe we need to do multiple things:

  • Failures within RestoreCommand(NuGet.Commands) should be handle by the restore command itself, and logged through an assets file and all the good stuff.
  • Higher lever failures: An idea could be:
    • Try/catch - show an error in the error list.
    • Ensure the error information that's capture within our telemetry.
      • Maybe this is a special type of failure, cause often this means potential bugs in our code. (not always though).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category:Quality Week Issues that should be considered for quality week Functionality:Restore Priority:2 Issues for the current backlog. Type:Bug
Projects
None yet
3 participants