Hi,
So this is a strange error we are having, and it may not be related to proget itself. However, maybe you can help us narrow it down further. Here is the context.
We have a set of compilers a while ago that started getting errors while downloading NPM packages, specifically when downloading Typescript. The package will be downloaded by the compiler along with all other dependencies, but it will at some point consistently get an error like this one :
npm WARN tarball tarball data for typescript@3.7.4 (sha1-F0Ol7F/vah+p8+RwjjPIHHOHbBk=) seems to be corrupted. Trying one more time.
However, downloading the dependency by doing a manual install (using "npm install typescript@3.7.4") does not give the mentioned error. It succeeds, and subsequent builds will succeed because the freshly downloaded package is in the cache. But once the package gets cleared from the npm cache, either forcefully or for some other reason, the error comes back again.
We also have to point out that developers do not have this problem: forcing a cache clear, the project does build without error.
So this is an environment-specific problem we have. I have analyzed the network traffic between one compiler and the proget server. I see a few things to point out :
- We get the error during the package download, not at the beginning
- At the moment we get the error, we receive a RST ACK packet, terminating the connection
- There is a lot of TCP keep alive packet sent from our compiler to the server near the end of the process. npm is downloading many packages in parallel it seems, and I guess some connections are kept alive for quite some time.
We are currently using Proget version 5.3.17.
My question is, what is the behaviour of proget regarding the download of npm packages on a possibly slow/unreliable network, or with many concurrent connections? Is there a known issue regarding the download of npm packages?