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

[release/6.0-preview7] [QUIC] Remove AppContext switch from S.N.Quic #56077

Merged

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jul 21, 2021

Backport of #56027 to release/6.0-preview7

/cc @ManickaP

Customer Impact

Short version: ASP.NET cannot deterministically enable System.Net.Quic for their HTTP/3 scenarios, leading to exceptions.

Long version:
System.Net.Quic will be internal-only in .NET 6.0 (as implementation detail of client and server HTTP/3). We want to prevent customers from accidentally using it.
We have implemented 2 levels of protection for System.Net.Quic to make it INTERNAL -- we removed ref assemblies from public and we used AppContext switch which is off by default (also used for HTTP/3 in HttpClient).
ASP.NET uses different mechanism for opt-in for HTTP/3 in .NET 6.0. Their mechanism cannot safely and deterministically turn on the System.Net.Quic AppContext as it relies on order of type initializers. Therefore we agreed to remove the AppContext protection for System.Net.Quic (it is in place for HttpClient's HTTP/3 still) and leave only one level of protection for System.Net.Quic being internal (removed ref assemblies).

Testing

CI

Risk

Low

@ghost
Copy link

ghost commented Jul 21, 2021

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #56027 to release/6.0-preview7

/cc @ManickaP

Customer Impact

Testing

Risk

Author: github-actions[bot]
Assignees: -
Labels:

area-System.Net

Milestone: -

@ManickaP ManickaP requested review from karelz, Tratcher and wfurt July 21, 2021 08:47
Copy link
Member

@wfurt wfurt left a comment

Choose a reason for hiding this comment

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

LGTM

@ManickaP
Copy link
Member

ManickaP commented Jul 22, 2021

Staging failures are unrelated.

@danmoseley danmoseley added Servicing-consider Issue for next servicing release review Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Jul 22, 2021
@danmoseley
Copy link
Member

approved by tactics

@danmoseley danmoseley merged commit 91e4d50 into release/6.0-preview7 Jul 22, 2021
@danmoseley danmoseley deleted the backport/pr-56027-to-release/6.0-preview7 branch July 22, 2021 17:09
@danmoseley
Copy link
Member

building
https://dev.azure.com/dnceng/internal/_build/results?buildId=1253296&view=results

(we should keep an eye as the door is almost closed for P7)

@karelz karelz added this to the 6.0.0 milestone Jul 29, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Aug 28, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Net Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants