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

Nuget v3 restore issues #2891

Closed
rrelyea opened this Issue Jun 2, 2016 · 4 comments

Comments

Projects
None yet
3 participants
@rrelyea
Contributor

rrelyea commented Jun 2, 2016

@ericstj said If I look at the dat file, the bottom has
<link rel="next" href="https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.ConsoleHost'&amp;$skiptoken='runtime.ubuntu.14.04-x64.Microsoft.NETCore.ConsoleHost','1.0.0-rc3-23720'" />
Now if I unescape that string and type it into the browser I get a new payload with
<link rel="next" href="https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.ConsoleHost'&amp;$skiptoken='runtime.Ubuntu.14.04-x64.Microsoft.NETCore.ConsoleHost','1.0.0-beta-23302'" />

Try again and I get
<link rel="next" href="https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.ConsoleHost'&amp;$skiptoken='runtime.ubuntu.14.04-x64.Microsoft.NETCore.ConsoleHost','1.0.0-rc3-23720'" />

Repeat at infinitum.

This may have a few fixes...server, moving to v3 protocol.
We should understand if a client fix can detect the cycle on the client, instead of running out of memory.

@jainaashish - will oop you in a mail thread called "Nuget v3 restore issues" with more details.

@rrelyea rrelyea added this to the 3.4.5 milestone Jun 2, 2016

@rrelyea

This comment has been minimized.

Show comment
Hide comment
@rrelyea

rrelyea Jun 2, 2016

Contributor

we'd consider this fix for 3.4.5 and/or 3.5-beta2 if timeframes match.

Contributor

rrelyea commented Jun 2, 2016

we'd consider this fix for 3.4.5 and/or 3.5-beta2 if timeframes match.

@rrelyea rrelyea added the Priority:0 label Jun 2, 2016

@jainaashish

This comment has been minimized.

Show comment
Hide comment
@jainaashish

jainaashish Jun 3, 2016

Contributor

It was a server side cache issue, which has been fixed by Maarten. Also verified at client side, it's working good across nuget client versions. Below is the email communication snapshot:

From: Maarten Balliauw
Subject: RE: Nuget v3 restore issues

Seems there was a faulty server-side affinity cache at play, which resulted in having a different output cached from different web nodes. Which in turn resulted in what you were seeing below, where each request would come from a different cache that had a different ordering of packages.
Server-side issue has been solved.

From: Wes Haggard

dotnet --version
1.0.0-rc2-002673
dotnet restore project.json --source https://dotnet.myget.org/F/dotnet-core
Run that with the attached project.json. I get the following forever:

info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.Ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-beta-23302'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-rc3-23720'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.Ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-beta-23302'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-rc3-23720'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.Ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-beta-23302'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-rc3-23720'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.Ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-beta-23302'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-rc3-23720'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.Ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-beta-23302'

Contributor

jainaashish commented Jun 3, 2016

It was a server side cache issue, which has been fixed by Maarten. Also verified at client side, it's working good across nuget client versions. Below is the email communication snapshot:

From: Maarten Balliauw
Subject: RE: Nuget v3 restore issues

Seems there was a faulty server-side affinity cache at play, which resulted in having a different output cached from different web nodes. Which in turn resulted in what you were seeing below, where each request would come from a different cache that had a different ordering of packages.
Server-side issue has been solved.

From: Wes Haggard

dotnet --version
1.0.0-rc2-002673
dotnet restore project.json --source https://dotnet.myget.org/F/dotnet-core
Run that with the attached project.json. I get the following forever:

info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.Ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-beta-23302'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-rc3-23720'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.Ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-beta-23302'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-rc3-23720'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.Ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-beta-23302'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-rc3-23720'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.Ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-beta-23302'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-rc3-23720'
info : CACHE https://dotnet.myget.org/F/dotnet-core/FindPackagesById?id='runtime.ubuntu.14.04-x64.Microsoft.NETCore.Te
stHost'&$skiptoken='runtime.Ubuntu.14.04-x64.Microsoft.NETCore.TestHost','1.0.0-beta-23302'

@jainaashish

This comment has been minimized.

Show comment
Hide comment
@jainaashish

jainaashish Jun 3, 2016

Contributor

So no fix required from client side. closing this issue.

Contributor

jainaashish commented Jun 3, 2016

So no fix required from client side. closing this issue.

@jainaashish jainaashish closed this Jun 3, 2016

@jainaashish

This comment has been minimized.

Show comment
Hide comment
@jainaashish

jainaashish Jun 3, 2016

Contributor

reactivating the issue, although it was server side fix, but client should still handle it gracefully instead of going into infinite loop and eventually throwing outofmemory

Contributor

jainaashish commented Jun 3, 2016

reactivating the issue, although it was server side fix, but client should still handle it gracefully instead of going into infinite loop and eventually throwing outofmemory

@jainaashish jainaashish reopened this Jun 3, 2016

@jainaashish jainaashish modified the milestones: 3.5 RC, 3.4.5 Jun 3, 2016

jainaashish added a commit to NuGet/NuGet.Client that referenced this issue Jun 10, 2016

jainaashish added a commit to NuGet/NuGet.Client that referenced this issue Jun 20, 2016

jainaashish added a commit to NuGet/NuGet.Client that referenced this issue Jun 20, 2016

@alpaix alpaix modified the milestones: 3.5 RTM, 3.6 Beta Jul 26, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment