On Tue, 6 Sep 2022 13:56:15 GMT, Conor Cleary <[email protected]> wrote:

> **Issue**
> When using HTTP/2 with the HttpClient, it can often be necessary to close an 
> idle Http2 Connection before a server sends a GOAWAY frame. For example, a 
> server or cloud based tool could close a TCP connection silently when it is 
> idle for too long resulting in ConnectionResetException being thrown by the 
> HttpClient.
> 
> **Proposed Solution**
> A new system property, `jdk.httpclient.idleConnectionTimeout`, was added and 
> is used to specify in Milliseconds how long an idle connection (idle 
> connections are those which have no currently active streams) for the 
> HttpClient before the connection is closed.

I understand that the H2 connection cache is structured slightly differently to 
the HTTP/1 idle cache, but I agree that we should try to present the same view 
of idle connections across both HTTP/1 and H2. It seems like it should be 
possible to record a timestamp when the stream count on a connection goes to 
zero, and after a certain time close connections that exceed the current max 
idle time. In that situation, it would make sense to use the same property for 
both HTTP/1 and H2.

-------------

PR: https://git.openjdk.org/jdk/pull/10183

Reply via email to