RFR: 8237834: com/sun/jndi/ldap/LdapDnsProviderTest.java failing with LDAP response read timeout
Aleks Efimov
aleksej.efimov at oracle.com
Thu May 7 13:57:33 UTC 2020
Hi Daniel,
As a follow-up to our off-list discussion, I've updated the
generateUnseenPort method:
a) Added comment to be more specific about the number of times it is called
b) The port range has been extended to [1111, PortConfig.getUpper())
Webrev with new version:
http://cr.openjdk.java.net/~aefimov/8237834/01
With Best Regards,
Aleksei
On 07/05/2020 11:10, Daniel Fuchs wrote:
> Hi Aleksei,
>
> I agree with the general idea. However, the method:
>
> 215 private static int generateUnseenPort() {
> 216 int port;
> 217 do {
> 218 port = 1111 + RND.nextInt(1000);
> 219 } while (SEEN_PORTS.contains(port));
> 220 SEEN_PORTS.add(port);
> 221 return port;
> 222 }
>
> might never return - if none of the port in the range
> [1111, 2111] are free. Arguably, the test will have
> failed in timeout before that. But maybe an assertion
> error should be thrown if that happens.
>
> best regards,
>
> -- daniel
>
>
> On 07/05/2020 00:52, Aleks Efimov wrote:
>> Hi,
>>
>> LdapDnsProviderTest test expects to have no services running on 1111
>> port on test machine. That could cause it to fail intermittently due
>> to unexpected exception message thrown by LDAP client, i.e. timeout
>> or disconnect instead of expected connection refusal.
>>
>> The proposed fix tries to make test more stable ('intermittent' key
>> was still added) by running test cases with non-default port multiple
>> times by trying to use different random port numbers ('randomness'
>> key was added) for each run.
>>
>> Webrev: http://cr.openjdk.java.net/~aefimov/8237834/00/index.html
>>
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8237834
>>
>> Test was not observed to fail for over 300 iterations.
>>
>> With Best Regards,
>> Aleksei
>>
>
More information about the core-libs-dev
mailing list