Service Health

This page provides status information on the services that are part of Google Cloud. Check back here to view the current status of the services listed below. If you are experiencing an issue not listed here, please contact Support. Learn more about what's posted on the dashboard in this FAQ. For additional information on these services, please visit https://cloud.google.com/.

Incident affecting Cloud Run

Global: Requests to .NET Cloud Run applications fail if HTTP/2 or gRPC is used

Incident began at 2022-02-19 09:01 and ended at 2022-02-24 21:00 (all times are US/Pacific).

Date Time Description
25 Feb 2022 10:41 PST

We apologize for the inconvenience this service disruption/outage may have caused. We would like to provide some information about this incident below. Please note, this information is based on our best knowledge at the time of posting and is subject to change as our investigation continues. If you have experienced impact outside of what is listed below, please reach out to Google Support by opening a case using https://cloud.google.com/support.

(All Times US/Pacific)

Incident Start: 19 February 2022 09:01

Incident End: 24 February 2022 20:48

Duration: 5 days, 11 hours, 47 minutes

Affected Services and Features:

Google Cloud Run - .NET application failures using HTTP/2 or gRPC

Regions/Zones: Global

Description:

Google Cloud Run services using .NET HTTP/2 or gRPC experienced elevated errors. From preliminary analysis, the root cause of the issue is a change triggered by a recent rollout.

Customer Impact:

Affected .Net services observed "upstream connect error or disconnect/reset before headers. reset reason: remote reset" when a request was made using HTTP/2 or gRPC.

Additional Details:

The ability to disable "preserve_downstream_scheme" was removed upstream in Envoy proxy [1] which led to an unintentional breaking change in Cloud Run. The breaking change introduces an incompatibility with .NET default enforcement between incoming transport-layer security and “:scheme” header (see details [2] ). The Cloud Run and Envoy teams at Google were able to mitigate the issue once identified, and have taken steps to limit and better manage such changes in the future.

The issue was fully resolved on 24 February 2022 at 20:48 US/Pacific once a rollback of the change was completed.

24 Feb 2022 21:00 PST

The issue with Cloud Run has been resolved for all affected users as of Thursday, 2022-02-24 20:57 US/Pacific.

We thank you for your patience while we worked on resolving the issue.

24 Feb 2022 18:58 PST

Summary: Global: Requests to .NET Cloud Run applications fail if HTTP/2 or gRPC is used

Description: Mitigation work is still underway by our engineering team.

The mitigation is expected to complete by Thursday, 2022-02-24 US/Pacific.

We will provide more information by Thursday, 2022-02-24 22:30 US/Pacific.

Diagnosis: Affected customers will see "upstream connect error or disconnect/reset before headers. reset reason: remote reset" when a request is made using HTTP/2 or gRPC.

Workaround: If using .NET 6, settings KestrelServerOptions.AllowAlternateSchemes to true will avoid the issue: https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.server.kestrel.core.kestrelserveroptions.allowalternateschemes?view=aspnetcore-6.0

24 Feb 2022 16:56 PST

Summary: Global: Requests to .NET Cloud Run applications fail if HTTP/2 or gRPC is used

Description: Mitigation work is still underway by our engineering team.

The mitigation is expected to complete by Thursday, 2022-02-24 US/Pacific.

We will provide more information by Thursday, 2022-02-24 21:00 US/Pacific.

Diagnosis: Affected customers will see "upstream connect error or disconnect/reset before headers. reset reason: remote reset" when a request is made using HTTP/2 or gRPC.

Workaround: If using .NET 6, settings KestrelServerOptions.AllowAlternateSchemes to true will avoid the issue: https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.server.kestrel.core.kestrelserveroptions.allowalternateschemes?view=aspnetcore-6.0

24 Feb 2022 13:06 PST

Summary: Global: Requests to .NET Cloud Run applications fail if HTTP/2 or gRPC is used

Description: Mitigation work is still underway by our engineering team.

The mitigation is expected to complete by Thursday, 2022-02-24 US/Pacific.

We will provide more information by Thursday, 2022-02-24 18:00 US/Pacific.

Diagnosis: Affected customers will see "upstream connect error or disconnect/reset before headers. reset reason: remote reset" when a request is made using HTTP/2 or gRPC.

Workaround: If using .NET 6, settings KestrelServerOptions.AllowAlternateSchemes to true will avoid the issue: https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.server.kestrel.core.kestrelserveroptions.allowalternateschemes?view=aspnetcore-6.0

23 Feb 2022 13:46 PST

Summary: Global: Requests to .NET Cloud Run applications fail if HTTP/2 or gRPC is used

Description: Mitigation work is still underway by our engineering team.

The mitigation is expected to complete by Thursday, 2022-02-24 US/Pacific.

We will provide more information by Thursday, 2022-02-24 14:00 US/Pacific.

Diagnosis: Affected customers will see "upstream connect error or disconnect/reset before headers. reset reason: remote reset" when a request is made using HTTP/2 or gRPC.

Workaround: If using .NET 6, settings KestrelServerOptions.AllowAlternateSchemes to true will avoid the issue: https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.server.kestrel.core.kestrelserveroptions.allowalternateschemes?view=aspnetcore-6.0

23 Feb 2022 11:18 PST

Summary: Global: Requests to .NET Cloud Run applications fail if HTTP/2 or gRPC is used

Description: We are experiencing an issue with Cloud Run beginning at Thursday, 2022-02-10 18:50 US/Pacific.

Mitigation work is currently underway by our engineering team. We do not have an ETA for mitigation at this point.

We apologize to all who are affected by the disruption.

We will provide an update by Wednesday, 2022-02-23 15:30 US/Pacific with current details.

Diagnosis: Affected customers will see "upstream connect error or disconnect/reset before headers. reset reason: remote reset" when a request is made using HTTP/2 or gRPC.

Workaround: If using .NET 6, settings KestrelServerOptions.AllowAlternateSchemes to true will avoid the issue: https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.server.kestrel.core.kestrelserveroptions.allowalternateschemes?view=aspnetcore-6.0