RFR: 8296610: java/net/HttpURLConnection/SetAuthenticator/HTTPSetAuthenticatorTest.java failed with "BindException: Address already in use: connect"
Daniel Fuchs
dfuchs at openjdk.org
Mon Dec 12 14:59:35 UTC 2022
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
More information about the net-dev
mailing list