RFR: 8256459: java/net/httpclient/ManyRequests.java and java/net/httpclient/LineBodyHandlerTest.java fail infrequently with java.net.ConnectException: Connection timed out: no further information

Chris Hegarty chegar at openjdk.java.net
Wed Dec 9 17:25:41 UTC 2020


On Wed, 9 Dec 2020 15:37:42 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:

> Hi, 
> 
> Please find here a changeset that fixes the infrequent (but annoying) test failures
> caused by unexpected ConnectionException "Connection timed out: no further information"
> which have been observed to occur on some platforms.
> 
> Tests are updated to allow the test server to handle requests concurrently.
> PlainHttpConnection is updated to retry connection once if chan::finishConnect fails
> early with ConnectionException and the connection timeout has not expired.

src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java line 205:

> 203:         }
> 204:         return cf.handle((r,t) -> checkRetryConnect(r, t,exchange))
> 205:                 .thenCompose(Function.identity());

So this changes behaviour so that a single subsequent additional TCP connection may be tried for all cases where the connection fails AND there is remaining connection deadline. Ok.

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

PR: https://git.openjdk.java.net/jdk/pull/1716


More information about the net-dev mailing list