The log shows the following error intermittently:
"msg":"Error searching for LDAP user (unable to execute physical search query '(&(|(objectClass=inetorgperson)(objectClass=orgPerson))(uid=xxxxx))'
- class javax.naming.CommunicationException). LDAP Config 'ExampleDirVIP (Type: ldap, ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx, URL: ldap://example-ldap-host:port)', user BaseDN 'o=example org'. Details: LDAP connection has been closed.",
"api":"/auth/v1/authenticate",
"throwable":"javax.naming.CommunicationException: LDAP connection has been closed [Root exception is java.io.IOException: LDAP connection has been closed];
....
java.naming/com.sun.jndi.ldap.Connection.readReply(Connection.java:471)
java.naming/com.sun.jndi.ldap.LdapClient.getSearchReply(LdapClient.java:643)
java.naming/com.sun.jndi.ldap.LdapClient.search(LdapClient.java:566) java.naming/com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:2015)
java.naming/com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1874)
java.naming/com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1799)
java.naming/com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:392)
java.naming/com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:358)
java.naming/com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:341)
java.naming/javax.naming.directory.InitialDirContext.search(InitialDirContext.java:346)
com.broadcom.layer7authentication.core.service.idstore.spi.ldap.LDAPIdStoreSpiImpl.ldapSearch(LDAPIdStoreSpiImpl.java:1025)
com.broadcom.layer7authentication.core.service.idstore.spi.ldap.LDAPIdStoreSpiImpl.ldapSearchUser(LDAPIdStoreSpiImpl.java:398)
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
Possible causes:
The exact same LDAP instance was used by other applications and confirmed working during the error.
From VIPAuthHub side, you can query /{tenantName}/admin/v1/LDAPconfigs/{ldapConfigId}
ldap:
poolMaxSize: 500
poolPrefSize: 128
poolTimeoutMillis: 120000
poolInitSize: 8
poolDebug: "none"
poolKeepAlive: "on"