You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problem:
The underlying .NET library SocketsHttpHandler has a pooled connection idle timeout setting that cannot currently be configured to use a value other than the default. The default value is 1 minute on .NET 6 and newer and a default of 2 minutes on .NET 5 and lower .NET CORE versions.
When a large batch of operations takes longer that the connection idle timeout threshold an exception such as QuicException: The connection timed out from inactivity. is thrown and the consumer loses visibility into whether or not the batch operations request actually completes, etc.
Describe the solution you would like
Switch the CreateGrpcNetChannelClient logic and any similar logic from using an HttpClientHandler to using a SocketsHttpHandler and provide the consumers with a configuration option they can provide that will be used to set the PooledConnectionIdleTimeout on the sockets http handler.
Related to bug #552. See the initial comment for this request here.
Problem:
The underlying .NET library SocketsHttpHandler has a pooled connection idle timeout setting that cannot currently be configured to use a value other than the default. The default value is 1 minute on .NET 6 and newer and a default of 2 minutes on .NET 5 and lower .NET CORE versions.
When a large batch of operations takes longer that the connection idle timeout threshold an exception such as
QuicException: The connection timed out from inactivity.
is thrown and the consumer loses visibility into whether or not the batch operations request actually completes, etc.Describe the solution you would like
Switch the CreateGrpcNetChannelClient logic and any similar logic from using an HttpClientHandler to using a SocketsHttpHandler and provide the consumers with a configuration option they can provide that will be used to set the PooledConnectionIdleTimeout on the sockets http handler.
NOTE: The HttpClientHandler is a wrapper around the SocketsHttpHandler class which does not provide any mechanisms to specify a non default PooledConnectionIdleTimeout on the SocketsHttpHandler _underlyingHandler that it wraps.
Describe alternatives you've considered
N/A
Additional context
The Grpc.Net.Client.GrpcChannel object has it's own ConnectionIdleTimeout property which it will populate off of the SocketsHttpHandler.PooledConnectionIdleTimeout when using that handler type. When using the HttpClientHandler however the GrpcChannel.ConnectionIdleTimeout property is left null which will also result in falling back to a default of 1 minute
The text was updated successfully, but these errors were encountered: