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

Fix repeated conflict detection and introduce optional resolver timeout #3084

Closed
wants to merge 2 commits into
base: master
from

Conversation

Projects
None yet
3 participants
@viktor-svub
Contributor

viktor-svub commented Feb 27, 2018

  • repeated conflict detection used HashSet as set item -- as it was not comparable, it was always adding new records -- it was replaced by F# Set which implements comparable as expected
  • added support for PAKET_RESOLVER_TIMEOUT environment variable, allowing to terminate the resolver in finite time -- for cases when we hit "loop of doom" on automated build agents
  • switched to UTC time handling to avoid DST glitches (plus, UtcNow is faster)

viktor-svub added some commits Feb 26, 2018

@forki forki requested a review from matthid Feb 27, 2018

@forki

This comment has been minimized.

Member

forki commented Feb 27, 2018

oups ;-)

@matthid

This comment has been minimized.

Member

matthid commented Feb 27, 2018

Good, maybe that explains our changing Lockfile as well.

@forki

This comment has been minimized.

Member

forki commented Feb 27, 2018

ok there are two integration tests failing. I think it's because the output changed

@viktor-svub

This comment has been minimized.

Contributor

viktor-svub commented Feb 27, 2018

I may be mistaken but it looks to me like the failure is unrelated -- i.e. the #1177 should resolve with pessimistic strategy correctly failed with:

-> Could not find versions for package Castle.Windsor on http://www.nuget.org/api/v2.
-> Source 'http://www.nuget.org/api/v2' yielded no results
	-  Request 'http://www.nuget.org/api/v2/FindPackagesById()?semVerLevel=2.0.0&id='Castle.Windsor'' finished with error
	-> Could not retrieve data from 'http://www.nuget.org/api/v2/FindPackagesById()?semVerLevel=2.0.0&id='Castle.Windsor''
	-> HttpRequestException: An error occurred while sending the request
	-> WebException: Error: TrustFailure (One or more errors occurred.)
	-> AuthenticationException: A call to SSPI failed, see inner exception.
	-> MonoBtlsException: Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
	     at /build/mono-5.4.1.7/external/boringssl/ssl/handshake_client.c:1132

And #55 should resolve with pessimistic strategy correctly is similar, just with different package.
Isn't this something changed recently on master?

@forki

This comment has been minimized.

Member

forki commented Feb 27, 2018

master is green AFAIK

@viktor-svub

This comment has been minimized.

Contributor

viktor-svub commented Feb 27, 2018

Also locally (Windows only) the build RunIntegrationTestsNetCore SkipDocs=1 with PAKET_RESOLVER_WORKERS=24 and PAKET_TESTSUITE_FLAKYTESTS=false passed all tests.

Right, I have no Mono install, and master is green, but I cannot see how these changes affected certificate validation against nuget.org -- maybe this PR is not re/based correctly?

@forki

This comment has been minimized.

Member

forki commented Feb 27, 2018

ok let me try to rebase it in new PR

@forki

This comment has been minimized.

Member

forki commented Feb 27, 2018

let's see #3085

@forki

This comment has been minimized.

Member

forki commented Feb 27, 2018

the other one is green

@forki forki closed this Feb 27, 2018

@forki

This comment has been minimized.

Member

forki commented Feb 27, 2018

Thx. It's released

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