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.

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

Commit messages:
 - 8296610

Changes: https://git.openjdk.org/jdk/pull/11634/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11634&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8296610
  Stats: 53 lines in 2 files changed: 23 ins; 0 del; 30 mod
  Patch: https://git.openjdk.org/jdk/pull/11634.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/11634/head:pull/11634

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

Reply via email to