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

[HTTP/2] RTT pings shutting down connection in gRPC CI - regression in .NET 6 #62216

Closed
JamesNK opened this issue Nov 30, 2021 · 32 comments
Closed
Assignees
Milestone

Comments

@JamesNK
Copy link
Member

JamesNK commented Nov 30, 2021

Description

gRPC has a set of interop tests that test various scenarios. These are run as part of a CI process. Upgrading the .NET client from .NET 5 to .NET 6 resulted in some of the tests failing 50% of the time.

Most tests continue to pass. The four that fail are:

  • large_unary
  • jwt_token_creds
  • server_streaming
  • compute_engine_creds

Reproduction Steps

I attempted to reproduce this from my local machine by calling the remote server using the failing tests, but I couldn't get them to fail.

These tests are failing in most CI builds here - https://source.cloud.google.com/results/invocations/f72f83db-c93b-467e-94cb-6b4ff7aeb286/targets;collapsed=/github%2Fgrpc%2Finterop_test/tests;group=tests;test=cloud_to_prod:aspnetcore:default:server_streaming:tls;row=2

Expected behavior

Expect tests to continue passing after upgrading to .NET 6

Actual behavior

Tests often fail.

Error detail (consistent across the 4 failing tests):

IOException: The request was aborted. IOException: The response ended prematurely while waiting for the next frame from the server.", DebugException="System.IO.IOException: The request was aborted.
 ---> System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
   at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
   at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
   at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync()
   --- End of inner exception stack trace ---
   at System.Net.Http.Http2Connection.ThrowRequestAborted(Exception innerException)
   at System.Net.Http.Http2Connection.Http2Stream.CheckResponseBodyState()
   at System.Net.Http.Http2Connection.Http2Stream.TryReadFromBuffer(Span`1 buffer, Boolean partOfSyncRead)
   at System.Net.Http.Http2Connection.Http2Stream.ReadDataAsync(Memory`1 buffer, HttpResponseMessage responseMessage, CancellationToken cancellationToken)
   at Grpc.Net.Client.StreamExtensions.ReadMessageContent(Stream responseStream, Memory`1 messageData, Int32 length, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 224

Complete logging from test failure (including from HTTP event source):

Runtime: 6.0.0-rtm.21522.10+4822e3c3aa77eb82b2fb33c9321f923cf11ddde6
Use TLS: True
Use WinHttp: False
Use HTTP/3: False
Use GrpcWebMode:
Use Test CA: False
Client type: httpclient
Server host: grpc-test.sandbox.googleapis.com
Server port: 443
dbug: HttpEventSourceListener[0]
      Starting HttpEventSourceListener.
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : HttpClientHandler#17324607,.ctor, ->
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : SocketsHttpHandler#21703739,.ctor, ->
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : BalancerHttpHandler#51442863,.ctor, ->
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Associate : BalancerHttpHandler#51442863,InnerHandler,BalancerHttpHandler#51442863,HttpClientHandler#17324607 ->
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Associate : HttpMessageInvoker#60332585,.ctor,HttpMessageInvoker#60332585,BalancerHttpHandler#51442863 ->
info: Grpc.Shared.TestAssets.InteropClient[0]
      Running large_unary
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : PushUnaryContent`2#37689768,.ctor, ->
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Associate : HttpRequestMessage#11898202,Content,HttpRequestMessage#11898202,PushUnaryContent`2#37689768 ->
dbug: Grpc.Net.Client.Internal.GrpcCall[1]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Starting gRPC call. Method type: 'Unary', URI: 'https://grpc-test.sandbox.googleapis.com/grpc.testing.TestService/UnaryCall'.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestStart : https,grpc-test.sandbox.googleapis.com,443,/grpc.testing.TestService/UnaryCall,2,0,1 ->
trce: Grpc.Net.Client.Balancer.Resolver[4]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Resolver result with status code 'OK' and 1 addresses.
dbug: Grpc.Net.Client.Balancer.Subchannel[1]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Subchannel id '1' created with addresses: grpc-test.sandbox.googleapis.com:443
dbug: Grpc.Net.Client.Balancer.Internal.ConnectionManager[4]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Channel picker updated.
trce: Grpc.Net.Client.Balancer.Subchannel[4]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Subchannel id '1' connection requested.
dbug: Grpc.Net.Client.Balancer.Subchannel[11]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Subchannel id '1' state changed to Connecting. Detail: 'Connection requested.'.
trce: Grpc.Net.Client.Balancer.PickFirstBalancer[1]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Processing subchannel id '1' state changed to Connecting. Detail: 'Connection requested.'.
dbug: Grpc.Net.Client.Balancer.Internal.ConnectionManager[3]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Channel state updated to Connecting.
trce: Grpc.Net.Client.Balancer.Subchannel[6]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Subchannel id '1' connecting to transport.
dbug: Grpc.Net.Client.Balancer.Subchannel[11]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Subchannel id '1' state changed to Ready. Detail: 'Passively connected.'.
trce: Grpc.Net.Client.Balancer.PickFirstBalancer[1]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Processing subchannel id '1' state changed to Ready. Detail: 'Passively connected.'.
dbug: Grpc.Net.Client.Balancer.Internal.ConnectionManager[3]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Channel state updated to Ready.
dbug: Grpc.Net.Client.Balancer.Internal.ConnectionManager[4]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Channel picker updated.
trce: Grpc.Net.Client.Balancer.Resolver[1]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Resolver refresh requested.
trce: Grpc.Net.Client.Balancer.Internal.ConnectionManager[5]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Pick started.
dbug: Grpc.Net.Client.Balancer.Internal.ConnectionManager[6]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Successfully picked subchannel id '1' with address grpc-test.sandbox.googleapis.com:443.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : HttpConnectionHandler#16745860,.ctor, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : DiagnosticsHandler#16495015,.ctor, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : RedirectHandler#14237410,.ctor, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,0,0,.ctor,HttpConnectionPool https://grpc-test.sandbox.googleapis.com:443 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,0,0,GetHttp2ConnectionAsync,No available HTTP/2 connections; request queued. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,0,0,AddHttp2ConnectionAsync,Creating new HTTP/2 connection for pool. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,.ctor,_connectionWindow. initialCredit=65535 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - ConnectionEstablished : 2,0 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TraceConnection,Http2Connection(HttpConnectionPool https://grpc-test.sandbox.googleapis.com:443). SslProtocol:Tls12, NegotiatedApplicationProtocol:h2, NegotiatedCipherSuite:TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, CipherAlgorithm:Aes128, CipherStrength:128, HashAlgorithm:None, HashStrength:0, KeyExchangeAlgorithm:DiffieHellman, KeyExchangeStrength:0, LocalCertificate:, RemoteCertificate:[Subject]
        CN=sandbox.google.com

      [Issuer]
        CN=GTS CA 1C3, O=Google Trust Services LLC, C=US

      [Serial Number]
        3389206B6531BCB90A00000001195361

      [Not Before]
        11/01/2021 02:57:44

      [Not After]
        01/24/2022 02:57:43

      [Thumbprint]
        2B171D3A18BBAE6F0378BDB886FC966D3CFA343A
       ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SetupAsync,Initial connection-level WINDOW_UPDATE, windowUpdateAmount=67043329 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=True ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 0: StreamId=0; Type=Settings; Flags=None; PayloadLength=18. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ChangeMaxConcurrentStreams,newValue=100, _streamsInUse=0, _availableStreamsWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalAvailableStreamsWaiter,result=True, _availableStreamsWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ChangeInitialWindowSize,newSize=1048576 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 1: StreamId=0; Type=WindowUpdate; Flags=None; PayloadLength=4. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessWindowUpdateFrame,StreamId=0; Type=WindowUpdate; Flags=None; PayloadLength=4. amount=983041 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,AdjustCredit,_connectionWindow. amount=983041, current=65535 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 2: StreamId=0; Type=Settings; Flags=Ack; PayloadLength=0. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,RefreshRtt,[FlowControl] Updated MinRtt: 8.1517 ms ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=9 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendSettingsAckAsync,Started writing. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=9 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReturnHttp2Connection,isNewConnection=True ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReturnHttp2Connection,Dequeued waiting HTTP/2 request. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReturnHttp2Connection,Put HTTP/2 connection in pool. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestLeftQueue : 277.7211,2,0 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendAsync,Method: POST, RequestUri: 'https://grpc-test.sandbox.googleapis.com/grpc.testing.TestService/UnaryCall', Version: 2.0, Content: Grpc.Net.Client.Internal.PushUnaryContent`2[Grpc.Testing.SimpleRequest,Grpc.Testing.SimpleResponse], Headers:
      {
        User-Agent: grpc-dotnet/2.42.0-dev (.NET 6.0.0-rtm.21522.10; CLR 6.0.0; net6.0; linux; x64)
        TE: trailers
        grpc-accept-encoding: identity,gzip
        Transfer-Encoding: chunked
        traceparent: 00-bb263d1a36b396fadbdf3366aa682351-064c1f7d2336c9e4-00
        Content-Type: application/grpc
      } ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestHeadersStart :  ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteHeaders, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteIndexedHeader,index=3 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteIndexedHeader,index=7 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteBytes,Length=34 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteIndexedHeader,index=4, value=/grpc.testing.TestService/UnaryCall ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteHeaderCollection, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteBytes,Length=2 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteLiteralHeaderValues,values=grpc-dotnet/2.42.0-dev (.NET 6.0.0-rtm.21522.10; CLR 6.0.0; net6.0; linux; x64) ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteBytes,Length=4 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteLiteralHeaderValue,value=trailers ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteLiteralHeader,name=grpc-accept-encoding, values=identity,gzip ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteLiteralHeader,name=traceparent, values=00-bb263d1a36b396fadbdf3366aa682351-064c1f7d2336c9e4-00 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteHeaderCollection, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteBytes,Length=2 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteLiteralHeaderValues,values=application/grpc ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,.ctor,[FlowControl] InitialClientStreamWindowSize: 65535, StreamWindowThreshold: 8191, WindowScaleThresholdMultiplier: 1 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - Associate : HttpResponseMessage#45330878,RequestMessage,HttpResponseMessage#45330878,HttpRequestMessage#11898202 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : HttpConnectionResponseContent#66629781,.ctor, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - Associate : HttpResponseMessage#45330878,Content,HttpResponseMessage#45330878,HttpConnectionResponseContent#66629781 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=301 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendHeadersAsync,Started writing. Total header bytes=292 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,Initialize,Method: POST, RequestUri: 'https://grpc-test.sandbox.googleapis.com/grpc.testing.TestService/UnaryCall', Version: 2.0, Content: Grpc.Net.Client.Internal.PushUnaryContent`2[Grpc.Testing.SimpleRequest,Grpc.Testing.SimpleResponse], Headers:
      {
        User-Agent: grpc-dotnet/2.42.0-dev (.NET 6.0.0-rtm.21522.10; CLR 6.0.0; net6.0; linux; x64)
        TE: trailers
        grpc-accept-encoding: identity,gzip
        traceparent: 00-bb263d1a36b396fadbdf3366aa682351-064c1f7d2336c9e4-00
        Content-Type: application/grpc
      }, initialWindowSize=1048576 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendHeadersAsync,Wrote HEADERS frame. Length=292, flags=EndHeaders ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestHeadersStop :  ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendRequestBodyAsync,Grpc.Net.Client.Internal.PushUnaryContent`2[Grpc.Testing.SimpleRequest,Grpc.Testing.SimpleResponse] ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestContentStart :  ->
dbug: Grpc.Net.Client.Internal.GrpcCall[18]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Sending message.
trce: Grpc.Net.Client.Internal.GrpcCall[21]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Serialized 'Grpc.Testing.SimpleRequest' to 271840 byte message.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=1048576, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=1032192, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16694 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=1015808, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=999424, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=983040, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=966656, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=950272, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=933888, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=917504, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=901120, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - ResponseHeadersStart :  ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=884736, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=868352, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=851968, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=835584, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=819200, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=802816, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=9701, current=786432, granted=9701 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=9710 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=9710 ->
trce: Grpc.Net.Client.Internal.GrpcCall[19]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Message sent.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestContentStop : 271845 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendRequestBodyAsync,Finished sending request body. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=9 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendEndStreamAsync,Started writing. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=26112 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 3: StreamId=0; Type=WindowUpdate; Flags=None; PayloadLength=4. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessWindowUpdateFrame,StreamId=0; Type=WindowUpdate; Flags=None; PayloadLength=4. amount=2158568 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,AdjustCredit,_connectionWindow. amount=2158568, current=776731 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 4: StreamId=0; Type=Settings; Flags=None; PayloadLength=6. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ChangeInitialWindowSize,newSize=3108840 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=9 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendSettingsAckAsync,Started writing. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=9 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 5: StreamId=1; Type=Headers; Flags=EndHeaders; PayloadLength=48. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessHeadersFrame,StreamId=1; Type=Headers; Flags=EndHeaders; PayloadLength=48 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,OnDataOrHeadersReceived,[FlowControl] Sending RTT PING with payload -1 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=17 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendPingAsync,Started writing. pingContent=-1 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=17 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,OnStatus,Status code is 200 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,OnHeader,Content-Disposition: attachment ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,OnHeader,Content-Type: application/grpc ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,OnHeader,Date: Tue, 30 Nov 2021 22:18:15 GMT ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 6: StreamId=1; Type=Data; Flags=None; PayloadLength=7817. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,amount=7817 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,_pendingWindowUpdate 7817 < 8388608. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 7: StreamId=1; Type=Data; Flags=None; PayloadLength=8192. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,amount=8192 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,_pendingWindowUpdate 16009 < 8388608. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 8: StreamId=0; Type=Ping; Flags=Ack; PayloadLength=8. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessPingFrame,Received PING frame, content:-1 ack: True ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,RefreshRtt,[FlowControl] Updated MinRtt: 2.5505 ms ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - ResponseHeadersStop :  ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestStop :  ->
trce: Grpc.Net.Client.Internal.GrpcCall[2]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Response headers received.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 9: StreamId=1; Type=Data; Flags=None; PayloadLength=8192. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,OnDataOrHeadersReceived,[FlowControl] Sending RTT PING with payload -2 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,amount=8192 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,_pendingWindowUpdate 24201 < 8388608. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 10: StreamId=1; Type=Data; Flags=None; PayloadLength=8192. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,amount=8192 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,_pendingWindowUpdate 32393 < 8388608. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=17 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendPingAsync,Started writing. pingContent=-2 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=17 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 11: StreamId=0; Type=Ping; Flags=Ack; PayloadLength=8. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessPingFrame,Received PING frame, content:-2 ack: True ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,RefreshRtt,[FlowControl] Updated MinRtt: 2.5505 ms ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 12: StreamId=1; Type=Data; Flags=None; PayloadLength=8192. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,OnDataOrHeadersReceived,[FlowControl] Sending RTT PING with payload -3 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,amount=8192 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,_pendingWindowUpdate 40585 < 8388608. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=17 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendPingAsync,Started writing. pingContent=-3 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=17 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 13: StreamId=1; Type=Data; Flags=None; PayloadLength=8192. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,amount=8192 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,_pendingWindowUpdate 48777 < 8388608. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 14: StreamId=0; Type=GoAway; Flags=None; PayloadLength=22. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessGoAwayFrame,lastStreamId=1, errorCode=EnhanceYourCalm ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,Shutdown,_shutdown=False, _abortException= ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalAvailableStreamsWaiter,result=False, _availableStreamsWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalShutdownWaiter,_shutdownWaiter?=True ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,InvalidateHttp2Connection, ->
dbug: Grpc.Net.Client.Internal.GrpcCall[13]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Reading message.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,Dispose,_disposed=False, _streamsInUse=1 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalAvailableStreamsWaiter,result=False, _availableStreamsWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalShutdownWaiter,_shutdownWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,ProcessIncomingFramesAsync: The response ended prematurely while waiting for the next frame from the server. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,Abort,abortException==System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
         at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
         at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
         at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync() ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,Shutdown,_shutdown=True, _abortException=System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
         at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
         at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
         at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync() ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalAvailableStreamsWaiter,result=False, _availableStreamsWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalShutdownWaiter,_shutdownWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,LogExceptions,Exception from asynchronous processing: System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
         at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
         at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
         at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync() ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,OnReset,resetException=System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
         at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
         at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
         at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync(), resetStreamErrorCode= ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,Cancel, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendReset,Stream reset. Request=Completed, Response=Failed. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,Complete,Stream complete. Request=Completed, Response=Failed. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,RemoveStream, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReleaseStream,_streamsInUse=1 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalAvailableStreamsWaiter,result=True, _availableStreamsWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FinalTeardown, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - ConnectionClosed : 2,0 ->
fail: Grpc.Net.Client.Internal.GrpcCall[17]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Error reading message.
System.IO.IOException: The request was aborted.
 ---> System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
   at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
   at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
   at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync()
   --- End of inner exception stack trace ---
   at System.Net.Http.Http2Connection.ThrowRequestAborted(Exception innerException)
   at System.Net.Http.Http2Connection.Http2Stream.CheckResponseBodyState()
   at System.Net.Http.Http2Connection.Http2Stream.TryReadFromBuffer(Span`1 buffer, Boolean partOfSyncRead)
   at System.Net.Http.Http2Connection.Http2Stream.ReadDataAsync(Memory`1 buffer, HttpResponseMessage responseMessage, CancellationToken cancellationToken)
   at Grpc.Net.Client.StreamExtensions.ReadMessageContent(Stream responseStream, Memory`1 messageData, Int32 length, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 224
   at Grpc.Net.Client.StreamExtensions.ReadMessageAsync[TResponse](Stream responseStream, GrpcCall call, Func`2 deserializer, String grpcEncoding, Boolean singleMessage, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 112
info: Grpc.Net.Client.Internal.GrpcCall[3]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Call failed with gRPC error status. Status code: 'Unavailable', Message: 'Error starting gRPC call. IOException: The request was aborted. IOException: The response ended prematurely while waiting for the next frame from the server.'.
dbug: Grpc.Net.Client.Internal.GrpcCall[4]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Finished gRPC call.
dbug: Grpc.Net.Client.Internal.GrpcCall[8]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      gRPC call canceled.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,Cancel, ->
info: Grpc.Shared.TestAssets.InteropClient[0]
      Failed!
Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Error starting gRPC call. IOException: The request was aborted. IOException: The response ended prematurely while waiting for the next frame from the server.", DebugException="System.IO.IOException: The request was aborted.
 ---> System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
   at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
   at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
   at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync()
   --- End of inner exception stack trace ---
   at System.Net.Http.Http2Connection.ThrowRequestAborted(Exception innerException)
   at System.Net.Http.Http2Connection.Http2Stream.CheckResponseBodyState()
   at System.Net.Http.Http2Connection.Http2Stream.TryReadFromBuffer(Span`1 buffer, Boolean partOfSyncRead)
   at System.Net.Http.Http2Connection.Http2Stream.ReadDataAsync(Memory`1 buffer, HttpResponseMessage responseMessage, CancellationToken cancellationToken)
   at Grpc.Net.Client.StreamExtensions.ReadMessageContent(Stream responseStream, Memory`1 messageData, Int32 length, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 224
   at Grpc.Net.Client.StreamExtensions.ReadMessageAsync[TResponse](Stream responseStream, GrpcCall call, Func`2 deserializer, String grpcEncoding, Boolean singleMessage, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 112
   at Grpc.Net.Client.Internal.GrpcCall`2.RunCall(HttpRequestMessage request, Nullable`1 timeout)")
   at Grpc.Shared.TestAssets.InteropClient.RunLargeUnary(IChannelWrapper channel, ClientOptions options) in /var/local/git/grpc-dotnet/testassets/Shared/InteropClient.cs:line 315
   at Grpc.Shared.TestAssets.InteropClient.RunTestCaseAsync(IChannelWrapper channel, ClientOptions options) in /var/local/git/grpc-dotnet/testassets/Shared/InteropClient.cs:line 295
   at Grpc.Shared.TestAssets.InteropClient.Run() in /var/local/git/grpc-dotnet/testassets/Shared/InteropClient.cs:line 86
dbug: HttpEventSourceListener[0]
      Stopping HttpEventSourceListener.
Unhandled exception: Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Error starting gRPC call. IOException: The request was aborted. IOException: The response ended prematurely while waiting for the next frame from the server.", DebugException="System.IO.IOException: The request was aborted.
 ---> System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
   at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
   at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
   at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync()
   --- End of inner exception stack trace ---
   at System.Net.Http.Http2Connection.ThrowRequestAborted(Exception innerException)
   at System.Net.Http.Http2Connection.Http2Stream.CheckResponseBodyState()
   at System.Net.Http.Http2Connection.Http2Stream.TryReadFromBuffer(Span`1 buffer, Boolean partOfSyncRead)
   at System.Net.Http.Http2Connection.Http2Stream.ReadDataAsync(Memory`1 buffer, HttpResponseMessage responseMessage, CancellationToken cancellationToken)
   at Grpc.Net.Client.StreamExtensions.ReadMessageContent(Stream responseStream, Memory`1 messageData, Int32 length, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 224
   at Grpc.Net.Client.StreamExtensions.ReadMessageAsync[TResponse](Stream responseStream, GrpcCall call, Func`2 deserializer, String grpcEncoding, Boolean singleMessage, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 112
   at Grpc.Net.Client.Internal.GrpcCall`2.RunCall(HttpRequestMessage request, Nullable`1 timeout)")
   at Grpc.Shared.TestAssets.InteropClient.RunLargeUnary(IChannelWrapper channel, ClientOptions options) in /var/local/git/grpc-dotnet/testassets/Shared/InteropClient.cs:line 315
   at Grpc.Shared.TestAssets.InteropClient.RunTestCaseAsync(IChannelWrapper channel, ClientOptions options) in /var/local/git/grpc-dotnet/testassets/Shared/InteropClient.cs:line 295
   at Grpc.Shared.TestAssets.InteropClient.Run() in /var/local/git/grpc-dotnet/testassets/Shared/InteropClient.cs:line 86
   at InteropTestsClient.Program.<>c.<<Main>b__0_1>d.MoveNext() in /var/local/git/grpc-dotnet/testassets/InteropTestsClient/Program.cs:line 75
--- End of stack trace from previous location ---
   at System.CommandLine.Invocation.CommandHandler.GetResultCodeAsync(Object value, InvocationContext context)
   at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseErrorReporting>b__20_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass15_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass24_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__21_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseDirective>b__19_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseDebugDirective>b__11_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__10_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass13_0.<<UseExceptionHandler>b__0>d.MoveNext()

2021-11-30 14:18:15,540 FAILED: cloud_to_prod:aspnetcore:default:large_unary:tls [ret=1, pid=14653, time=1.5sec]

Regression?

Yes, this worked in .NET 5. The only change has been updating the client app to .NET 6.

Known Workarounds

No response

Configuration

Runtime: 6.0.0-rtm.21522.10+4822e3c3aa77eb82b2fb33c9321f923cf11ddde6

Other information

No response

@ghost
Copy link

ghost commented Nov 30, 2021

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

Issue Details

Description

gRPC has a set of interop tests that test various scenarios. These are run as part of a CI process. Upgrading the .NET client from .NET 5 to .NET 6 resulted in some of the tests intermittently failing.

Most tests continue to pass. The four that fail are:

  • large_unary
  • jwt_token_creds
  • server_streaming
  • compute_engine_creds

Reproduction Steps

I attempted to repo this from my local machine but I couldn't get them to fail.

These tests are failing in most CI builds here - https://source.cloud.google.com/results/invocations/f72f83db-c93b-467e-94cb-6b4ff7aeb286/targets;collapsed=/github%2Fgrpc%2Finterop_test/tests;group=tests;test=cloud_to_prod:aspnetcore:default:server_streaming:tls;row=2

Expected behavior

Expect tests to continue passing after upgrading to .NET 6

Actual behavior

Tests often fail.

Logging from test failure:

Runtime: 6.0.0-rtm.21522.10+4822e3c3aa77eb82b2fb33c9321f923cf11ddde6
Use TLS: True
Use WinHttp: False
Use HTTP/3: False
Use GrpcWebMode:
Use Test CA: False
Client type: httpclient
Server host: grpc-test.sandbox.googleapis.com
Server port: 443
dbug: HttpEventSourceListener[0]
      Starting HttpEventSourceListener.
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : HttpClientHandler#17324607,.ctor, ->
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : SocketsHttpHandler#21703739,.ctor, ->
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : BalancerHttpHandler#51442863,.ctor, ->
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Associate : BalancerHttpHandler#51442863,InnerHandler,BalancerHttpHandler#51442863,HttpClientHandler#17324607 ->
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Associate : HttpMessageInvoker#60332585,.ctor,HttpMessageInvoker#60332585,BalancerHttpHandler#51442863 ->
info: Grpc.Shared.TestAssets.InteropClient[0]
      Running large_unary
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : PushUnaryContent`2#37689768,.ctor, ->
dbug: HttpEventSourceListener[0]
      <- Event Private.InternalDiagnostics.System.Net.Http - Associate : HttpRequestMessage#11898202,Content,HttpRequestMessage#11898202,PushUnaryContent`2#37689768 ->
dbug: Grpc.Net.Client.Internal.GrpcCall[1]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Starting gRPC call. Method type: 'Unary', URI: 'https://grpc-test.sandbox.googleapis.com/grpc.testing.TestService/UnaryCall'.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestStart : https,grpc-test.sandbox.googleapis.com,443,/grpc.testing.TestService/UnaryCall,2,0,1 ->
trce: Grpc.Net.Client.Balancer.Resolver[4]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Resolver result with status code 'OK' and 1 addresses.
dbug: Grpc.Net.Client.Balancer.Subchannel[1]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Subchannel id '1' created with addresses: grpc-test.sandbox.googleapis.com:443
dbug: Grpc.Net.Client.Balancer.Internal.ConnectionManager[4]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Channel picker updated.
trce: Grpc.Net.Client.Balancer.Subchannel[4]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Subchannel id '1' connection requested.
dbug: Grpc.Net.Client.Balancer.Subchannel[11]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Subchannel id '1' state changed to Connecting. Detail: 'Connection requested.'.
trce: Grpc.Net.Client.Balancer.PickFirstBalancer[1]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Processing subchannel id '1' state changed to Connecting. Detail: 'Connection requested.'.
dbug: Grpc.Net.Client.Balancer.Internal.ConnectionManager[3]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Channel state updated to Connecting.
trce: Grpc.Net.Client.Balancer.Subchannel[6]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Subchannel id '1' connecting to transport.
dbug: Grpc.Net.Client.Balancer.Subchannel[11]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Subchannel id '1' state changed to Ready. Detail: 'Passively connected.'.
trce: Grpc.Net.Client.Balancer.PickFirstBalancer[1]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Processing subchannel id '1' state changed to Ready. Detail: 'Passively connected.'.
dbug: Grpc.Net.Client.Balancer.Internal.ConnectionManager[3]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Channel state updated to Ready.
dbug: Grpc.Net.Client.Balancer.Internal.ConnectionManager[4]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Channel picker updated.
trce: Grpc.Net.Client.Balancer.Resolver[1]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Resolver refresh requested.
trce: Grpc.Net.Client.Balancer.Internal.ConnectionManager[5]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Pick started.
dbug: Grpc.Net.Client.Balancer.Internal.ConnectionManager[6]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Successfully picked subchannel id '1' with address grpc-test.sandbox.googleapis.com:443.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : HttpConnectionHandler#16745860,.ctor, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : DiagnosticsHandler#16495015,.ctor, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : RedirectHandler#14237410,.ctor, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,0,0,.ctor,HttpConnectionPool https://grpc-test.sandbox.googleapis.com:443 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,0,0,GetHttp2ConnectionAsync,No available HTTP/2 connections; request queued. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,0,0,AddHttp2ConnectionAsync,Creating new HTTP/2 connection for pool. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,.ctor,_connectionWindow. initialCredit=65535 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - ConnectionEstablished : 2,0 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TraceConnection,Http2Connection(HttpConnectionPool https://grpc-test.sandbox.googleapis.com:443). SslProtocol:Tls12, NegotiatedApplicationProtocol:h2, NegotiatedCipherSuite:TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, CipherAlgorithm:Aes128, CipherStrength:128, HashAlgorithm:None, HashStrength:0, KeyExchangeAlgorithm:DiffieHellman, KeyExchangeStrength:0, LocalCertificate:, RemoteCertificate:[Subject]
        CN=sandbox.google.com

      [Issuer]
        CN=GTS CA 1C3, O=Google Trust Services LLC, C=US

      [Serial Number]
        3389206B6531BCB90A00000001195361

      [Not Before]
        11/01/2021 02:57:44

      [Not After]
        01/24/2022 02:57:43

      [Thumbprint]
        2B171D3A18BBAE6F0378BDB886FC966D3CFA343A
       ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SetupAsync,Initial connection-level WINDOW_UPDATE, windowUpdateAmount=67043329 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=True ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 0: StreamId=0; Type=Settings; Flags=None; PayloadLength=18. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ChangeMaxConcurrentStreams,newValue=100, _streamsInUse=0, _availableStreamsWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalAvailableStreamsWaiter,result=True, _availableStreamsWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ChangeInitialWindowSize,newSize=1048576 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 1: StreamId=0; Type=WindowUpdate; Flags=None; PayloadLength=4. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessWindowUpdateFrame,StreamId=0; Type=WindowUpdate; Flags=None; PayloadLength=4. amount=983041 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,AdjustCredit,_connectionWindow. amount=983041, current=65535 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 2: StreamId=0; Type=Settings; Flags=Ack; PayloadLength=0. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,RefreshRtt,[FlowControl] Updated MinRtt: 8.1517 ms ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=9 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendSettingsAckAsync,Started writing. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=9 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReturnHttp2Connection,isNewConnection=True ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReturnHttp2Connection,Dequeued waiting HTTP/2 request. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReturnHttp2Connection,Put HTTP/2 connection in pool. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestLeftQueue : 277.7211,2,0 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendAsync,Method: POST, RequestUri: 'https://grpc-test.sandbox.googleapis.com/grpc.testing.TestService/UnaryCall', Version: 2.0, Content: Grpc.Net.Client.Internal.PushUnaryContent`2[Grpc.Testing.SimpleRequest,Grpc.Testing.SimpleResponse], Headers:
      {
        User-Agent: grpc-dotnet/2.42.0-dev (.NET 6.0.0-rtm.21522.10; CLR 6.0.0; net6.0; linux; x64)
        TE: trailers
        grpc-accept-encoding: identity,gzip
        Transfer-Encoding: chunked
        traceparent: 00-bb263d1a36b396fadbdf3366aa682351-064c1f7d2336c9e4-00
        Content-Type: application/grpc
      } ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestHeadersStart :  ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteHeaders, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteIndexedHeader,index=3 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteIndexedHeader,index=7 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteBytes,Length=34 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteIndexedHeader,index=4, value=/grpc.testing.TestService/UnaryCall ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteHeaderCollection, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteBytes,Length=2 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteLiteralHeaderValues,values=grpc-dotnet/2.42.0-dev (.NET 6.0.0-rtm.21522.10; CLR 6.0.0; net6.0; linux; x64) ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteBytes,Length=4 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteLiteralHeaderValue,value=trailers ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteLiteralHeader,name=grpc-accept-encoding, values=identity,gzip ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteLiteralHeader,name=traceparent, values=00-bb263d1a36b396fadbdf3366aa682351-064c1f7d2336c9e4-00 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteHeaderCollection, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteBytes,Length=2 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,WriteLiteralHeaderValues,values=application/grpc ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,.ctor,[FlowControl] InitialClientStreamWindowSize: 65535, StreamWindowThreshold: 8191, WindowScaleThresholdMultiplier: 1 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - Associate : HttpResponseMessage#45330878,RequestMessage,HttpResponseMessage#45330878,HttpRequestMessage#11898202 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - Info : HttpConnectionResponseContent#66629781,.ctor, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - Associate : HttpResponseMessage#45330878,Content,HttpResponseMessage#45330878,HttpConnectionResponseContent#66629781 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=301 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendHeadersAsync,Started writing. Total header bytes=292 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,Initialize,Method: POST, RequestUri: 'https://grpc-test.sandbox.googleapis.com/grpc.testing.TestService/UnaryCall', Version: 2.0, Content: Grpc.Net.Client.Internal.PushUnaryContent`2[Grpc.Testing.SimpleRequest,Grpc.Testing.SimpleResponse], Headers:
      {
        User-Agent: grpc-dotnet/2.42.0-dev (.NET 6.0.0-rtm.21522.10; CLR 6.0.0; net6.0; linux; x64)
        TE: trailers
        grpc-accept-encoding: identity,gzip
        traceparent: 00-bb263d1a36b396fadbdf3366aa682351-064c1f7d2336c9e4-00
        Content-Type: application/grpc
      }, initialWindowSize=1048576 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendHeadersAsync,Wrote HEADERS frame. Length=292, flags=EndHeaders ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestHeadersStop :  ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendRequestBodyAsync,Grpc.Net.Client.Internal.PushUnaryContent`2[Grpc.Testing.SimpleRequest,Grpc.Testing.SimpleResponse] ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestContentStart :  ->
dbug: Grpc.Net.Client.Internal.GrpcCall[18]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Sending message.
trce: Grpc.Net.Client.Internal.GrpcCall[21]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Serialized 'Grpc.Testing.SimpleRequest' to 271840 byte message.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=1048576, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=1032192, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16694 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=1015808, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=999424, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=983040, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=966656, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=950272, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=933888, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=917504, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=901120, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - ResponseHeadersStart :  ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=884736, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=868352, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=851968, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=835584, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=819200, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=16384, current=802816, granted=16384 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=16393 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,TryRequestCreditNoLock,_connectionWindow. requested=9701, current=786432, granted=9701 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=9710 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendStreamDataAsync,Started writing. Length=9710 ->
trce: Grpc.Net.Client.Internal.GrpcCall[19]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Message sent.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestContentStop : 271845 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendRequestBodyAsync,Finished sending request body. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=9 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendEndStreamAsync,Started writing. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=26112 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 3: StreamId=0; Type=WindowUpdate; Flags=None; PayloadLength=4. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessWindowUpdateFrame,StreamId=0; Type=WindowUpdate; Flags=None; PayloadLength=4. amount=2158568 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,AdjustCredit,_connectionWindow. amount=2158568, current=776731 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 4: StreamId=0; Type=Settings; Flags=None; PayloadLength=6. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ChangeInitialWindowSize,newSize=3108840 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=9 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendSettingsAckAsync,Started writing. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=9 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 5: StreamId=1; Type=Headers; Flags=EndHeaders; PayloadLength=48. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessHeadersFrame,StreamId=1; Type=Headers; Flags=EndHeaders; PayloadLength=48 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,OnDataOrHeadersReceived,[FlowControl] Sending RTT PING with payload -1 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=17 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendPingAsync,Started writing. pingContent=-1 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=17 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,OnStatus,Status code is 200 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,OnHeader,Content-Disposition: attachment ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,OnHeader,Content-Type: application/grpc ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,OnHeader,Date: Tue, 30 Nov 2021 22:18:15 GMT ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 6: StreamId=1; Type=Data; Flags=None; PayloadLength=7817. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,amount=7817 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,_pendingWindowUpdate 7817 < 8388608. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 7: StreamId=1; Type=Data; Flags=None; PayloadLength=8192. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,amount=8192 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,_pendingWindowUpdate 16009 < 8388608. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 8: StreamId=0; Type=Ping; Flags=Ack; PayloadLength=8. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessPingFrame,Received PING frame, content:-1 ack: True ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,RefreshRtt,[FlowControl] Updated MinRtt: 2.5505 ms ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - ResponseHeadersStop :  ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - RequestStop :  ->
trce: Grpc.Net.Client.Internal.GrpcCall[2]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Response headers received.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 9: StreamId=1; Type=Data; Flags=None; PayloadLength=8192. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,OnDataOrHeadersReceived,[FlowControl] Sending RTT PING with payload -2 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,amount=8192 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,_pendingWindowUpdate 24201 < 8388608. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 10: StreamId=1; Type=Data; Flags=None; PayloadLength=8192. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,amount=8192 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,_pendingWindowUpdate 32393 < 8388608. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=17 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendPingAsync,Started writing. pingContent=-2 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=17 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 11: StreamId=0; Type=Ping; Flags=Ack; PayloadLength=8. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessPingFrame,Received PING frame, content:-2 ack: True ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,RefreshRtt,[FlowControl] Updated MinRtt: 2.5505 ms ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 12: StreamId=1; Type=Data; Flags=None; PayloadLength=8192. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,OnDataOrHeadersReceived,[FlowControl] Sending RTT PING with payload -3 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,amount=8192 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,_pendingWindowUpdate 40585 < 8388608. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessOutgoingFramesAsync,writeBytes=17 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SendPingAsync,Started writing. pingContent=-3 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FlushOutgoingBytesAsync,ActiveLength=17 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 13: StreamId=1; Type=Data; Flags=None; PayloadLength=8192. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,amount=8192 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ExtendWindow,_pendingWindowUpdate 48777 < 8388608. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,Frame 14: StreamId=0; Type=GoAway; Flags=None; PayloadLength=22. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessGoAwayFrame,lastStreamId=1, errorCode=EnhanceYourCalm ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,Shutdown,_shutdown=False, _abortException= ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalAvailableStreamsWaiter,result=False, _availableStreamsWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalShutdownWaiter,_shutdownWaiter?=True ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReadFrameAsync,initialFrame=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,InvalidateHttp2Connection, ->
dbug: Grpc.Net.Client.Internal.GrpcCall[13]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Reading message.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,Dispose,_disposed=False, _streamsInUse=1 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalAvailableStreamsWaiter,result=False, _availableStreamsWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalShutdownWaiter,_shutdownWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessIncomingFramesAsync,ProcessIncomingFramesAsync: The response ended prematurely while waiting for the next frame from the server. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,Abort,abortException==System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
         at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
         at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
         at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync() ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,Shutdown,_shutdown=True, _abortException=System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
         at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
         at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
         at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync() ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalAvailableStreamsWaiter,result=False, _availableStreamsWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalShutdownWaiter,_shutdownWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,LogExceptions,Exception from asynchronous processing: System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
         at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
         at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
         at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync() ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,OnReset,resetException=System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
         at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
         at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
         at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync(), resetStreamErrorCode= ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,Cancel, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,SendReset,Stream reset. Request=Completed, Response=Failed. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,Complete,Stream complete. Request=Completed, Response=Failed. ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,RemoveStream, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ReleaseStream,_streamsInUse=1 ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,SignalAvailableStreamsWaiter,result=True, _availableStreamsWaiter?=False ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,FinalTeardown, ->
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event System.Net.Http - ConnectionClosed : 2,0 ->
fail: Grpc.Net.Client.Internal.GrpcCall[17]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Error reading message.
System.IO.IOException: The request was aborted.
 ---> System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
   at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
   at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
   at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync()
   --- End of inner exception stack trace ---
   at System.Net.Http.Http2Connection.ThrowRequestAborted(Exception innerException)
   at System.Net.Http.Http2Connection.Http2Stream.CheckResponseBodyState()
   at System.Net.Http.Http2Connection.Http2Stream.TryReadFromBuffer(Span`1 buffer, Boolean partOfSyncRead)
   at System.Net.Http.Http2Connection.Http2Stream.ReadDataAsync(Memory`1 buffer, HttpResponseMessage responseMessage, CancellationToken cancellationToken)
   at Grpc.Net.Client.StreamExtensions.ReadMessageContent(Stream responseStream, Memory`1 messageData, Int32 length, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 224
   at Grpc.Net.Client.StreamExtensions.ReadMessageAsync[TResponse](Stream responseStream, GrpcCall call, Func`2 deserializer, String grpcEncoding, Boolean singleMessage, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 112
info: Grpc.Net.Client.Internal.GrpcCall[3]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Call failed with gRPC error status. Status code: 'Unavailable', Message: 'Error starting gRPC call. IOException: The request was aborted. IOException: The response ended prematurely while waiting for the next frame from the server.'.
dbug: Grpc.Net.Client.Internal.GrpcCall[4]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      Finished gRPC call.
dbug: Grpc.Net.Client.Internal.GrpcCall[8]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      gRPC call canceled.
dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,1,Cancel, ->
info: Grpc.Shared.TestAssets.InteropClient[0]
      Failed!
Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Error starting gRPC call. IOException: The request was aborted. IOException: The response ended prematurely while waiting for the next frame from the server.", DebugException="System.IO.IOException: The request was aborted.
 ---> System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
   at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
   at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
   at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync()
   --- End of inner exception stack trace ---
   at System.Net.Http.Http2Connection.ThrowRequestAborted(Exception innerException)
   at System.Net.Http.Http2Connection.Http2Stream.CheckResponseBodyState()
   at System.Net.Http.Http2Connection.Http2Stream.TryReadFromBuffer(Span`1 buffer, Boolean partOfSyncRead)
   at System.Net.Http.Http2Connection.Http2Stream.ReadDataAsync(Memory`1 buffer, HttpResponseMessage responseMessage, CancellationToken cancellationToken)
   at Grpc.Net.Client.StreamExtensions.ReadMessageContent(Stream responseStream, Memory`1 messageData, Int32 length, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 224
   at Grpc.Net.Client.StreamExtensions.ReadMessageAsync[TResponse](Stream responseStream, GrpcCall call, Func`2 deserializer, String grpcEncoding, Boolean singleMessage, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 112
   at Grpc.Net.Client.Internal.GrpcCall`2.RunCall(HttpRequestMessage request, Nullable`1 timeout)")
   at Grpc.Shared.TestAssets.InteropClient.RunLargeUnary(IChannelWrapper channel, ClientOptions options) in /var/local/git/grpc-dotnet/testassets/Shared/InteropClient.cs:line 315
   at Grpc.Shared.TestAssets.InteropClient.RunTestCaseAsync(IChannelWrapper channel, ClientOptions options) in /var/local/git/grpc-dotnet/testassets/Shared/InteropClient.cs:line 295
   at Grpc.Shared.TestAssets.InteropClient.Run() in /var/local/git/grpc-dotnet/testassets/Shared/InteropClient.cs:line 86
dbug: HttpEventSourceListener[0]
      Stopping HttpEventSourceListener.
Unhandled exception: Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Error starting gRPC call. IOException: The request was aborted. IOException: The response ended prematurely while waiting for the next frame from the server.", DebugException="System.IO.IOException: The request was aborted.
 ---> System.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
   at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()
   at System.Net.Http.Http2Connection.ReadFrameAsync(Boolean initialFrame)
   at System.Net.Http.Http2Connection.ProcessIncomingFramesAsync()
   --- End of inner exception stack trace ---
   at System.Net.Http.Http2Connection.ThrowRequestAborted(Exception innerException)
   at System.Net.Http.Http2Connection.Http2Stream.CheckResponseBodyState()
   at System.Net.Http.Http2Connection.Http2Stream.TryReadFromBuffer(Span`1 buffer, Boolean partOfSyncRead)
   at System.Net.Http.Http2Connection.Http2Stream.ReadDataAsync(Memory`1 buffer, HttpResponseMessage responseMessage, CancellationToken cancellationToken)
   at Grpc.Net.Client.StreamExtensions.ReadMessageContent(Stream responseStream, Memory`1 messageData, Int32 length, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 224
   at Grpc.Net.Client.StreamExtensions.ReadMessageAsync[TResponse](Stream responseStream, GrpcCall call, Func`2 deserializer, String grpcEncoding, Boolean singleMessage, CancellationToken cancellationToken) in /var/local/git/grpc-dotnet/src/Grpc.Net.Client/Internal/StreamExtensions.cs:line 112
   at Grpc.Net.Client.Internal.GrpcCall`2.RunCall(HttpRequestMessage request, Nullable`1 timeout)")
   at Grpc.Shared.TestAssets.InteropClient.RunLargeUnary(IChannelWrapper channel, ClientOptions options) in /var/local/git/grpc-dotnet/testassets/Shared/InteropClient.cs:line 315
   at Grpc.Shared.TestAssets.InteropClient.RunTestCaseAsync(IChannelWrapper channel, ClientOptions options) in /var/local/git/grpc-dotnet/testassets/Shared/InteropClient.cs:line 295
   at Grpc.Shared.TestAssets.InteropClient.Run() in /var/local/git/grpc-dotnet/testassets/Shared/InteropClient.cs:line 86
   at InteropTestsClient.Program.<>c.<<Main>b__0_1>d.MoveNext() in /var/local/git/grpc-dotnet/testassets/InteropTestsClient/Program.cs:line 75
--- End of stack trace from previous location ---
   at System.CommandLine.Invocation.CommandHandler.GetResultCodeAsync(Object value, InvocationContext context)
   at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseErrorReporting>b__20_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass15_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass24_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__21_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseDirective>b__19_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseDebugDirective>b__11_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__10_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass13_0.<<UseExceptionHandler>b__0>d.MoveNext()

2021-11-30 14:18:15,540 FAILED: cloud_to_prod:aspnetcore:default:large_unary:tls [ret=1, pid=14653, time=1.5sec]

Regression?

Yes, this worked in .NET 5. The only change has been updating the client app to .NET 6.

Known Workarounds

No response

Configuration

Runtime: 6.0.0-rtm.21522.10+4822e3c3aa77eb82b2fb33c9321f923cf11ddde6

Other information

No response

Author: JamesNK
Assignees: -
Labels:

area-System.Net.Http

Milestone: -

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Nov 30, 2021
@halter73
Copy link
Member

halter73 commented Dec 1, 2021

dbug: HttpEventSourceListener[0]
      => GrpcMethodType:Unary GrpcUri:/grpc.testing.TestService/UnaryCall
      <- Event Private.InternalDiagnostics.System.Net.Http - HandlerMessage : 63220684,25474675,0,ProcessGoAwayFrame,lastStreamId=1, errorCode=EnhanceYourCalm ->

I wonder why the server went with errorCode=EnhanceYourCalm given a single stream. Maybe because the client sent 3 ping frames in under 1.5 seconds?

@geoffkizer
Copy link
Contributor

@antonfirsov Any insight into the ping behavior here? 3 pings in 1.5 seconds does seem like a lot.

@JamesNK
Copy link
Member Author

JamesNK commented Dec 1, 2021

Good spotting on the pings. Some servers are very strict about the number of pings allowed before they kill the connection. The endpoint is a sandbox Google production environment. A hardened edge server is validating traffic.

(Kestrel processes pings so quickly we don't bother being strict about them)

@JamesNK
Copy link
Member Author

JamesNK commented Dec 1, 2021

I think there are two issues here:

  • Too many pings are causing the end server to kill the connection.
  • Less important, but SocketsHttpHandler could provide better error details in the exception. While "The response ended prematurely while waiting for the next frame from the server." is technically correct, reporting the ENHANCE_YOUR_CALM status from the server would make it clearer what is going on.

@geoffkizer
Copy link
Contributor

Less important, but SocketsHttpHandler could provide better error details in the exception. While "The response ended prematurely while waiting for the next frame from the server." is technically correct, reporting the ENHANCE_YOUR_CALM status from the server would make it clearer what is going on.

Agreed. When the server gracefully (i.e. not in the middle of a frame) closes the connection after a GOAWAY with an error code is received, we should fail any outstanding requests with an exception that indicates the server error from GOAWAY.

@JamesNK
Copy link
Member Author

JamesNK commented Dec 1, 2021

Separate issue for improving error message: #62228

@JamesNK
Copy link
Member Author

JamesNK commented Dec 1, 2021

Workaround:
I believe there is an app context switch to opt-out of pinging. For now, I have reverted the interop tests to use .NET 5.

I think this is a candidate for servicing.

@antonfirsov
Copy link
Member

antonfirsov commented Dec 2, 2021

3 pings in 1.5 seconds does seem like a lot.

We send a "burst" of ~4 pings after opening the connection to get an accurate RTT estimation fast, but the client should only sends these pings after receiving DATA or HEADERS from the server, in order to conform to the grpc recommendation on server-side ping flood protection. This allows maximum of 2 "ping strikes" on the server between sending HEADERS or DATA to the client.

Looks like there is a sneaky bug in this logic, or some corner scenario I missed (or less likely a bug in the server).

I'm afraid the only way to troubleshoot this is to grab a repro environment and produce logs, packet captures etc., @JamesNK can you help with this? If you can't get a local repro can we do something to grab a machine identical to the CI ones or use the CI machines for sandboxing?

I believe there is an app context switch to opt-out of pinging. For now, I have reverted the interop tests to use .NET 5.

It's called System.Net.SocketsHttpHandler.Http2FlowControl.DisableDynamicWindowSizing, and it will shut down the whole dynamic window optimization.

@karelz
Copy link
Member

karelz commented Dec 2, 2021

Triage: We should look into it, but given that it seems to be CI-only problem for now, it is ok to live with workaround for a while.
If we see customers hitting it, we should look at it with higher priority.

@karelz karelz added bug and removed untriaged New issue has not been triaged by the area owner labels Dec 2, 2021
@karelz karelz added this to the 7.0.0 milestone Dec 2, 2021
@karelz karelz changed the title HttpClient regression when updating tests to .NET 6 [HTTP/2] RTT pings shutting down connection in gRPC CI - regression in .NET 6 Dec 2, 2021
@antonfirsov
Copy link
Member

I wonder why the server went with errorCode=EnhanceYourCalm given a single stream. Maybe because the client sent 3 ping frames in under 1.5 seconds?

@halter73 in my previous comment I missed the fact that it's a statement from you (I thought it's an observation from logs). Where is this 1.5sec restriction defined? I didn't find such a strict rule when investigating existing ping flood protection mechanisms.

@JamesNK
Copy link
Member Author

JamesNK commented Dec 2, 2021

I'm afraid the only way to troubleshoot this is to grab a repro environment and produce logs, packet captures etc., @JamesNK can you help with this? If you can't get a local repro can we do something to grab a machine identical to the CI ones or use the CI machines for sandboxing?

The initial comment has complete logs, including logs from HTTP event source. Capturing packets isn't possible because it is a CI environment that we don't own.

Fortunately, the server is publically accessible so we can call it from our local machines. I have updated a PowerShell script to pass the server address and arguments to the interop test client.

https://github.com/JamesNK/grpc-dotnet/tree/jamesnk/interoptests-failing

Call the interop tests with \testassets\InteropTestsClient\RunGrpcTests.ps1. It runs large_unary and server_streaming in a loop. The credential tests require extra setup and configuration so I've skipped them.

There are many interop tests but only four are failing. large_unary and server_streaming return relatively large payloads, and jwt_token_creds and compute_engine_creds use authentication. I think what is consistent between these calls is they don't complete immediately. Either there is a delay to download the payload or a delay in validating creds.

@JamesNK
Copy link
Member Author

JamesNK commented Dec 2, 2021

Triage: We should look into it, but given that it seems to be CI-only problem for now, it is ok to live with workaround for a while. If we see customers hitting it, we should look at it with higher priority.

I think it is a matter of time. My hunch is this is caused by a combination of factors:

  • .NET 6
  • HTTP/2
  • Calling a remote server
  • Delay in completing response on the server (a guess right now)
  • Server that has ping flood protection (most edge servers, but not Kestrel)

@chwarr
Copy link
Contributor

chwarr commented Dec 2, 2021

If the remote gRPC server that the CI tests are hitting is based on gRPC Core (the C/C++ implementation), the keepalive documentation for that HTTP2 server may be useful. It talks about when a ping is considered solicited vs. unsolicited and its "strikes" rules. By default, the server side of gRPC Core does not allow pings unless there is an active stream, and pings received more frequently than once every 5 minutes are considered unsolicited. After two unsolicited pings, the server says GOAWAY with ENHANCE_YOUR_CALM.

@antonfirsov
Copy link
Member

and pings received more frequently than once every 5 minutes are considered unsolicited.

@chwarr if my understanding of those guidelines is correct, this is not fully accurate.

Note that the Keepalive User Guide for gRPC Core repeatedly talks about stuff like:

number of pings that can be sent when there is no data/header frame to be sent

or

When there isn't any data/header being sent on the transport, gRPC clients restrict the number of pings to 2 by default.

The details are not clarified in that document, but it references the Client-side Keepalive guide, where the server enforcement section clarifies that the unsolicited ping counter is being reset to 0 whenever a DATA or HEADERS frame is being sent. This aligns with the fact that PINGs are not harmful as long as the client is actually consuming the server stream.

Let me know if you think I'm misunderstanding those docs.

@chwarr
Copy link
Contributor

chwarr commented Dec 4, 2021

You've read it much more closely than I. :-)

I just wanted to point out 1) that the doc exists and 2) what the default values for the gRPC Core HTTP2 server are if these helped explain why the gRPC CI tests were hanging up on the gRPC.NET client.

@JamesNK
Copy link
Member Author

JamesNK commented Dec 4, 2021

No need to decipher docs. The server is publicly available to test against.

@zhuoyang
Copy link

zhuoyang commented Apr 8, 2022

I am getting the same exception after upgrading to .NET 6, not quite sure if it's the same problem.
My service is hosted in Google Cloud Run and goes like this
Web App <---> Ocelot API Gateway (.NET 6) <---> .NET 6 Web API (HTTP/2 enabled)

System.IO.IOException: The response ended prematurely while waiting for the next frame from the server. at System.Net.Http.Http2Connection.<ReadFrameAsync>g__ThrowMissingFrame|57_1()

This exception is showing up on Ocelot API Gateway logs randomly only while calling HTTP/2 enabled container's REST API endpoint.

@ManickaP
Copy link
Member

ManickaP commented Apr 8, 2022

@zhuoyang If your problem is the same, disabling dynamic window sizing might help:
https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-environment-variables
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING or AppContext switch: System.Net.SocketsHttpHandler.Http2FlowControl.DisableDynamicWindowSizing.

This should be done on the client side, I guess that would be Ocelot in your case.

If it helps, it's the same issue.

@zhuoyang
Copy link

zhuoyang commented Apr 8, 2022

I disabled it just awhile ago, so far so good it seems, will monitor if the issue shows up again.
Is there any ongoing plan on fixing this issue ?

@karelz
Copy link
Member

karelz commented Apr 8, 2022

@zhuoyang we do not have plans yet. You are the first customer hitting it outside of CI in the real world. When we see more people hitting it, we will raise priority of the issue.

@fhaubner
Copy link

@karelz We are currently also experiencing the issue in a real world implementation.
Some calls to gRPC streaming services randomly fail. Both the services and clients are implemented with .NET 6 and are hosted on GCP Cloud Run instances.
The connection is dropped after the server side received too many pings.
According to logs we receive "GoAway" frame with "EnhanceYourCalm" because we send 3 ping frames.

Disabling dynamic window sizing also helped in our case. As dynamic window sizing is activated by default, more people will run into this issue.

@jtattermusch
Copy link

@karelz @JamesNK note that the "gRPC CI" backends mentioned in this issue are actually backends that are configured to behave in the same way as Google Cloud API backends (the interop tests are basically hitting FooBar API backend). So if requests are failing for the "gRPC CI" backends, it also means there will most likely be failures against google cloud API backends. So this issue is quite serious. Can we raise the priority? It really looks like the DynamicWindowSizing .NET feature sends unsolicited pings (which leads to server terminating the connection).

@jtattermusch
Copy link

jtattermusch commented May 2, 2022

@karelz @fhaubner @JamesNK @antonfirsov I am now able to reproduce consistently (see details here: grpc/grpc-dotnet#1511 (comment)) and the problem seems to happen when the latency of the connection is sufficiently low (it happens when the client and server and geographically close to each other).

With the description I provided in (grpc/grpc-dotnet#1511 (comment)), the issue should be easily reproducible by anyone who has access to a google cloud project (you need to create a VM in the right compute zone so it's "close enough" to our test backends).

@antonfirsov any chance you could take a look?

FTR, in one rare case, I managed to catch both a success and a failure on the same machine, in subsequent runs of the test (which I think is valuable since it makes all the parameters equal and the logs might reveal what what the difference that actually triggered the disconnection). The tests were run on a machine that otherwise has a failure rate >95%

Log of successful run:
https://gist.github.com/jtattermusch/d6db50ebfa8a14f85d90509265aaa7ab

Log of failing run:
https://gist.github.com/jtattermusch/134a61278d45d599a1c753451d0318a6

@antonfirsov
Copy link
Member

@jtattermusch thanks a lot for taking the time to create and document your repro, especially for tracking down that it's related to the location! I can also repro this in an Azure VM located in East US.

I will look into this, though it will take some non-trivial amount of time to figure out the exact conditions leading to ENHANCE_YOUR_CALM .

@JamesNK
Copy link
Member Author

JamesNK commented May 4, 2022

https://grpc.github.io/grpc/core/md_doc_keepalive.html

The docs here say the ping limit is 2 without the server receiving headers or data frames. I can see 3 pings in Jan's logs. Is SocketsHttpHandler exceeding that limit?

@antonfirsov
Copy link
Member

antonfirsov commented May 4, 2022

ping limit is 2 without the server receiving headers or data frames

@JamesNK @jtattermusch correct me if I'm misreading the docs, but in my understanding
GRPC_ARG_HTTP2_MAX_PING_STRIKES=2 is the maximum number of tolerated "bad pings", where bad behavior is defined in another document, A8-client-side-keepalive.md#server-enforcement. It basically says that the server should not tolerate receiving PING unless the server is sending DATA or HEADERS.

@JamesNK
Copy link
Member Author

JamesNK commented May 4, 2022

My understanding is every ping is a bad ping, i.e. a strike. The server then resets the number of strikes when either enough time has passed (2 hours) or it sends a DATA or HEADERS.

Because GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS defaults to false, SocketsHttpHandler must wait until after it sends a request before any pings. Then, after that first request, it can send up to 2 pings. Then it must wait for HEADERS/DATA from the server.

When I talked to Jan about this he said it only reproduces when the client and server were located in the same data center, which means low latency. I wonder if there is a race between what the server sends and when the client sends its pings.

The safest way to fix this could be for SocketsHttpHandler to send two pings instead of 3 to calculate latency. 2 pings at any time is always safe with the default server configuration. Alternatively, wait until the next request is started and we have received HEADERS from it before resetting allowed pings to zero. That should remove any chance of a race.

@antonfirsov
Copy link
Member

antonfirsov commented May 5, 2022

SocketsHttpHandler must wait until after it sends a request before any pings. Then, after that first request, it can send up to 2 pings. Then it must wait for HEADERS/DATA from the server.

This is what we do. We never send a PING frame without receiving a DATA/HEADERS on an active stream first, so the PERMIT_KEEPALIVE_WITHOUT_CALLS condition should never be triggered.

Receiving DATA or HEADERS indicates that on the other side the ping_strikes counter has been reset:

* When a HEADERS or DATA frame is *sent*, set `last_valid_ping_time = epoch;
  ping_strikes = 0`

However, if SocketsHttpHandler receives 3 HEADERS/DATA in a row replying with a PING for each of them, and then the server has a short hiatus sending DATA/HEADERS (and thus not resetting ping_strikes), the server may receive 3 unsolicited PING-s. I think this is likely the race resulting in this bug. Limiting such a burst to 2 PINGs will likely fix the issue, however it will also impact our RTT estimation accuracy which may lead to performance regression. I'm hoping to find a more sophisticated solution.

@antonfirsov
Copy link
Member

We did some research with @jtattermusch, and this turned out that the GOAWAY comes from a proxy in google's internal backends.

There are proxies in the wild which do different ping accounting than what is specified in the "server enforcement" document, resetting their ping counter upon receiving frames.

We should adjust our implementation to make sure we don't send more than 2 RTT PING-s without sending DATA, HEADERS or WINDOW_UPDATE.

@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Jun 20, 2022
@karelz
Copy link
Member

karelz commented Jun 28, 2022

Triage:

  • The particular Google backend improved and our repro does not reproduce anymore.
  • The PR we have has race conditions and we don't have anything to fine-tune the fix and solution against.

As a result we recommend to close the issue as there is no current customer hitting it.

@JamesNK just to double-check: You re-enabled the tests and you don't see the problem anymore either, right?

@karelz karelz closed this as completed Jun 28, 2022
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Jun 28, 2022
@JamesNK
Copy link
Member Author

JamesNK commented Jun 28, 2022

Yes. Interop tests that call Google backend are using .NET 6 again - grpc/grpc-dotnet#1765

@ghost ghost locked as resolved and limited conversation to collaborators Jul 29, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants