RFR: 8006534 CLONE - TestLibrary.getUnusedRandomPort() fails intermittently-doesn't retry enough times
Jim Gish
jim.gish at oracle.com
Thu Jan 17 20:18:53 UTC 2013
Please review
http://cr.openjdk.java.net/~jgish/Bug8006534-getUnusedRandomPort-retry-more/
<http://cr.openjdk.java.net/%7Ejgish/Bug8006534-getUnusedRandomPort-retry-more/>
TestLibrary.getUnusedPort() attempts to retry getting an ephemeral port
10 times, which is the current number of ports in the reserved port
range. Debugging code added a few weeks back has revealed that
intermittent failures in tests using this method are caused when the
underlying socket code first returns the first number in the reserved
port range. Subsequent retries result in incrementing the port number
by one until reaching the max reserved port number, which just happens
to correspond to the 10th attempt, and the code then quits trying.
The proposed fix (one of many possible alternatives, of course) simply
retries for twice the number of ports in the range.
Thanks,
Jim
--
Jim Gish | Consulting Member of Technical Staff | +1.781.442.0304
Oracle Java Platform Group | Core Libraries Team
35 Network Drive
Burlington, MA 01803
jim.gish at oracle.com
More information about the core-libs-dev
mailing list