On 19/11/2013 17:58, Ivan Gerasimov wrote:
Hello all!

Would you please help review a fix for the bug?
https://bugs.openjdk.java.net/browse/JDK-6968459

It was reported that creating new InitialLdapContext() can fail with "javax.naming.NamingException: LDAP response read timed out, timeout used:30000ms", even though the specified timeout hadn't been elapsed.

The fix was provided by the filer of the bug some time ago.
Here's the webrev with this fix:
http://cr.openjdk.java.net/~igerasim/6968459/0/webrev/

I haven't seen any replies to this but I've cc'ed Vinnie and Xuelei as they are more familiar with this area.

If I understand correctly then the issue is that the timeout handling doesn't take account of wakeups when aren't any BerDecoders to dequeue. The changes mean it will retry the wait with a decreasing timeout until a reply is received or the timeout elapses. That seems reasonable, assuming the time doesn't change :-) You might find the code is a bit clearer if you have a "remaining" time as that would allow you get rid of timedOut, timeOut and endTime.

I see the patch doesn't come with a test. Is there any test infrastructure for testing LDAP without require a complete server?

-Alan.

Reply via email to