The Ignore value for Lightweight Directory Access Protocol (LDAP) Referral Property is not working as expected.
Problem
Multiple referrals were configured within Lightweight Directory Access Protocol (LDAP) configuration that pointed to other regions, causing LDAP lookup within eDiscovery Platform (eDP) to timeout and fail. The eDP property esa.ldap.referrals was modified from the value follow to ignore. With the account being on the local server and ignoring the referrals, the account should be authenticated and the socket connections not timeout. For this reported issue, authentication was not working with the ignore value and session connections were still timing out.
Error Message
2025-05-14 11:41:50,260 ERROR [ui.servlet.ErrorMap] (https-jsse-nio2-443-exec-6-superuser:[]) CaseName:[] UserName:[superuser-520672623] Unexpected error: com.teneo.esa.common.exception.TeneoException com.teneo.esa.ui.util.Error: #320004 Directory search failed: null
at com.teneo.esa.ui.common.LDAPUserPickerModel.fetchUsers(LDAPUserPickerModel.java:232) ~[testclasses/:?]
at com.teneo.esa.ui.common.LDAPUserPickerModel.fetchUsers(LDAPUserPickerModel.java:104) ~[testclasses/:?]
at com.teneo.esa.ui.ajax.common.LDAPUserPicker.fetchUsers(LDAPUserPicker.java:63) ~[testclasses/:?]
at sun.reflect.GeneratedMethodAccessor1636.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_301]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_301]
at com.teneo.esa.ui.servlet.AjaxServlet.doGet(AjaxServlet.java:128) [testclasses/:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) [servlet-api.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) [servlet-api.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.72]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.72]
at com.teneo.esa.ui.servlet.XSSFilter.doFilter(XSSFilter.java:150) [testclasses/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.72]
at com.teneo.esa.ui.servlet.CSRFDetectionFilter.doFilter(CSRFDetectionFilter.java:276) [testclasses/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.72]
at com.teneo.esa.ui.auth.SecurityFilter.doFilter(SecurityFilter.java:343) [testclasses/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.72]
at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.72]
at com.teneo.esa.ui.session.SessionTrackingFilter.doFilter(SessionTrackingFilter.java:139) [testclasses/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.72]
at com.teneo.esa.ui.servlet.ErrorHandlingFilter.doFilter(ErrorHandlingFilter.java:75) [testclasses/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.72]
at com.teneo.esa.ui.servlet.CacheDisablingFilter.doFilter(CacheDisablingFilter.java:74) [testclasses/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.72]
at com.teneo.esa.ui.servlet.SessionLoggingFilter.doFilter(SessionLoggingFilter.java:55) [testclasses/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.72]
at com.teneo.esa.ui.servlet.RequestAndResponseLoggingFilter.doFilter(RequestAndResponseLoggingFilter.java:661) [testclasses/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.72]
at com.teneo.esa.ui.servlet.ContextSetupFilter.doFilter(ContextSetupFilter.java:84) [testclasses/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.72]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.72]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:196) [catalina.jar:8.5.72]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [catalina.jar:8.5.72]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [catalina.jar:8.5.72]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [catalina.jar:8.5.72]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [catalina.jar:8.5.72]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) [catalina.jar:8.5.72]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [catalina.jar:8.5.72]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364) [catalina.jar:8.5.72]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:624) [tomcat-coyote.jar:8.5.72]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:8.5.72]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) [tomcat-coyote.jar:8.5.72]
at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1615) [tomcat-coyote.jar:8.5.72]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.72]
at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1111) [tomcat-coyote.jar:8.5.72]
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:564) [tomcat-coyote.jar:8.5.72]
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:542) [tomcat-coyote.jar:8.5.72]
at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:1010) [tomcat-coyote.jar:8.5.72]
at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:938) [tomcat-coyote.jar:8.5.72]
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) [?:1.8.0_301]
at sun.nio.ch.Invoker$2.run(Invoker.java:218) [?:1.8.0_301]
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) [?:1.8.0_301]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util.jar:8.5.72]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util.jar:8.5.72]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.72]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_301]
Caused by: javax.naming.PartialResultException
at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.hasMoreImpl(AbstractLdapNamingEnumeration.java:237) ~[?:1.8.0_301]
at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.hasMore(AbstractLdapNamingEnumeration.java:189) ~[?:1.8.0_301]
at com.teneo.esa.ui.common.LDAPUserPickerModel.fetchUsers(LDAPUserPickerModel.java:210) ~[testclasses/:?]
... 68 more
Caused by: javax.naming.CommunicationException: edp.com:389
at com.sun.jndi.ldap.LdapReferralContext.<init>(LdapReferralContext.java:96) ~[?:1.8.0_301]
at com.sun.jndi.ldap.LdapReferralException.getReferralContext(LdapReferralException.java:151) ~[?:1.8.0_301]
at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.hasMoreReferrals(AbstractLdapNamingEnumeration.java:325) ~[?:1.8.0_301]
at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.hasMoreImpl(AbstractLdapNamingEnumeration.java:227) ~[?:1.8.0_301]
at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.hasMore(AbstractLdapNamingEnumeration.java:189) ~[?:1.8.0_301]
at com.teneo.esa.ui.common.LDAPUserPickerModel.fetchUsers(LDAPUserPickerModel.java:210) ~[testclasses/:?]
... 68 more
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[?:1.8.0_301]
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81) ~[?:1.8.0_301]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) ~[?:1.8.0_301]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) ~[?:1.8.0_301]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) ~[?:1.8.0_301]
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) ~[?:1.8.0_301]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[?:1.8.0_301]
at java.net.Socket.connect(Socket.java:606) ~[?:1.8.0_301]
at sun.reflect.GeneratedMethodAccessor1634.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_301]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_301]
at com.sun.jndi.ldap.Connection.createSocket(Connection.java:369) ~[?:1.8.0_301]
at com.sun.jndi.ldap.Connection.<init>(Connection.java:222) ~[?:1.8.0_301]
at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:137) ~[?:1.8.0_301]
at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1615) ~[?:1.8.0_301]
at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2847) ~[?:1.8.0_301]
at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:348) ~[?:1.8.0_301]
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxFromUrl(LdapCtxFactory.java:225) ~[?:1.8.0_301]
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:189) ~[?:1.8.0_301]
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:152) ~[?:1.8.0_301]
at com.sun.jndi.url.ldap.ldapURLContextFactory.getObjectInstance(ldapURLContextFactory.java:52) ~[?:1.8.0_301]
at javax.naming.spi.NamingManager.getURLObject(NamingManager.java:611) ~[?:1.8.0_301]
at javax.naming.spi.NamingManager.processURL(NamingManager.java:391) ~[?:1.8.0_301]
at javax.naming.spi.NamingManager.processURLAddrs(NamingManager.java:371) ~[?:1.8.0_301]
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:343) ~[?:1.8.0_301]
at com.sun.jndi.ldap.LdapReferralContext.<init>(LdapReferralContext.java:119) ~[?:1.8.0_301]
at com.sun.jndi.ldap.LdapReferralException.getReferralContext(LdapReferralException.java:151) ~[?:1.8.0_301]
at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.hasMoreReferrals(AbstractLdapNamingEnumeration.java:325) ~[?:1.8.0_301]
at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.hasMoreImpl(AbstractLdapNamingEnumeration.java:227) ~[?:1.8.0_301]
at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.hasMore(AbstractLdapNamingEnumeration.java:189) ~[?:1.8.0_301]
at com.teneo.esa.ui.common.LDAPUserPickerModel.fetchUsers(LDAPUserPickerModel.java:210) ~[testclasses/:?]
... 68 more
Cause
Unknown. Being researched by engineering.
Solution
Workaround: Create local user accounts in eDP and login with the local user accounts.
This issue is currently under investigation by Arctera US LLC. Pending the outcome of the investigation, this issue may be resolved by way of a patch or hotfix in current or future revisions of the software. However, this particular issue is not currently scheduled for any release. If you feel this issue has a direct business impact for you and your continued use of the product, please contact your Arctera Sales representative or the Arctera Sales group to discuss these concerns.