APAR status
Closed as program error.
Error description
Error Message: The LDAP request failed intermittently saying the response read timed out which occurred much before the actual timeout specified. . Stack Trace: javax.naming.NamingException: LDAP response read timed out, timeout used:300000ms.; Remaining name: 'ou=internal,dc=XXXXX,dc=XXXXX,dc=com' at com.sun.jndi.ldap.Connection.readReply(Connection.java:480) at com.sun.jndi.ldap.LdapClient.getSearchReply(LdapClient.java:632) at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:555) at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1977) at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1839) at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1764) at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentD irContext.java:380) at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(Parti alCompositeDirContext.java:350) at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(Parti alCompositeDirContext.java:333) at javax.naming.directory.InitialDirContext.search(InitialDirContex t.java:250) . User observing the problem with LDAP connections timing out before the specified timeout has been reached.
Local fix
Catch the exception and retry. The connection is timed-out when LDAP server reset the connection.
Problem summary
The problem occurred when the LDAP client received a connection reset from the LDAP server when the client is waiting for a response from the LDAP server. The connection reset closed the connection and exit the TCP binding thread. It notified the application thread which was waiting for a response for its LDAP request. As the application thread came out of wait, it assumed the reply is ready or the time out happened. As the reply was not available, it thrown the SockeTimeoutException. However, this is not correct as the socket timeout did not happen in this case and the application thread was awake due to a connection reset. Hence, instead of throwing SockeTimeoutException, a ServiceUnavailableException should be thrown.
Problem conclusion
This APAR will be fixed in the following Java Releases: 6 SR15 FP1 (6.0.15.1) 6 R1 SR7 FP1 (6.1.7.1) 7 SR6 FP1 (7.0.6.1) 7 R1 SR1 (7.1.1.0) . The JDK has been updated to throw the ServiceUnavailableException instead of SockeTimeoutException when LDAP Client receives a connection reset from the LDAP Server.
Temporary fix
ZE FIX ERROR IV56681 14/04/07
Comments
APAR Information
APAR number
IV52561
Reported component name
JAVA CLASS LIBS
Reported component ID
620700130
Reported release
600
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-11-26
Closed date
2014-01-07
Last modified date
2014-05-09
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
JAVA CLASS LIBS
Fixed component ID
620700130
Applicable component levels
R600 PSY
UP
R700 PSY
UP
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVQ3Y","label":"Java Class Libraries"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
09 May 2014