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

IServiceBroker/MessagePack/OOP fix roll-up #48201

Merged
merged 8 commits into from
Oct 1, 2020

Conversation

sharwell
Copy link
Member

@sharwell sharwell commented Sep 30, 2020

Supersedes #47870, #48179, #48187, #48188, #48195

Closes #48175

@sharwell sharwell requested review from a team as code owners September 30, 2020 18:34
@tmat tmat mentioned this pull request Sep 30, 2020
@sharwell sharwell added this to the 16.8.P4 milestone Sep 30, 2020
{
cancellationToken.ThrowIfCancellationRequested();

// If this is hit the cancellation token passed to the service implementation did not use the correct token.
if (exception is ConnectionLostException)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is probably worth documenting why we're doing it this way. doesn't need to be in this PR though.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's documented a few lines above, and still under investigation.

// When a connection is dropped and CancelLocallyInvokedMethodsWhenConnectionIsClosed is
// set ConnectionLostException should not be thrown. Instead the cancellation token should be
// signaled and OperationCancelledException should be thrown.
// Seems to not work in all cases currently, so we need to cancel ourselves (bug https://github.com/microsoft/vs-streamjsonrpc/issues/551).
// Once this issue is fixed we can remov this if statement and fall back to reporting NFW
// as any observation of ConnectionLostException indicates a bug (e.g. https://github.com/microsoft/vs-streamjsonrpc/issues/549).
if (exception is ConnectionLostException)
{
return true;
}


// work around incorrect implementation in 16.8 Preview 2
if (MultiplexingStream == multiplexingStream)
return this;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

possibly to doc/explain/link this to something clearer?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually, doc the whole thing tbh, i don't undestand any of it :)

Copy link
Member Author

@sharwell sharwell Sep 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See #47870 (comment). This is dead code by API contract and only needed because roslyn-integration-CI is on a specific version with a bug.

Pull request #48153 will revert this as soon as roslyn-integration-CI is updated to 16.8 Preview 3 or newer.

@sharwell sharwell merged commit 9de2d24 into dotnet:release/dev16.8 Oct 1, 2020
@sharwell sharwell deleted the oop-fixes branch October 1, 2020 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants