On Mon, 12 Dec 2022 14:50:21 GMT, Daniel Fuchs <[email protected]> wrote:

> The test has been observed failing once in the CI, on windows, with a 
> BindException (address already in use) on the client side. This usually means 
> that the system has run out of ephemeral ports or file descriptors. The 
> proposed fix will catch the BindException, run the gc, wait a bit, and retry 
> once. No guarantee that this will actually work - but maybe worth a try, 
> though I worry a bit the authentication count might get wrong if the request 
> that gets the BindException is the first one that follows the 401/407 
> response - in case the connection was closed after receiving 401/407. Since 
> we have no visibility of which call to connect() fails, it is hard to cater 
> for this possibility without making the test too permissive.
> 
> The alternative would be to throw a SkipException in case BindException is 
> received.
> 
> While working on the fix I noticed that some parts of the test had been 
> commented out waiting for a RFE to be implemented. Since the RFE has been 
> implemented since then, I went out and uncommented that part of the test.
> 
> Comments welcome.

test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTestClient.java line 
53:

> 51:             try {
> 52:                 Thread.sleep(500);
> 53:             } catch (InterruptedException iex) {

If it only fails rarely, would it be safer to delay a few seconds to allow more 
time for resources to be freed?

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

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

Reply via email to