CAS won't start if LDAP connection fails (reposted)

41 views
Skip to first unread message

Abre Chase

unread,
Jul 25, 2019, 12:58:07 PM7/25/19
to CAS Community
I have a CAS instance with multiple authentication sources.  One of those is an LDAP server.  If the LDAP server is not responding or down, the CAS server will not start.

Is it possible to have CAS startup but continue to try to reconnect to the LDAP server in the background.  I want the other authentication sources to continue to work.

The exception in the logs looks something like:

2019-07-25 11:12:11,555 ERROR [org.ldaptive.pool.BlockingConnectionPool] - <[org.ldaptive.pool.BlockingConnectionPool@75185863::name=null, poolConfig=[org.ldaptive.pool.PoolConfig@675323116::minPoolSize=3, maxPoolSize=10, validateOnCheckIn=false, validateOnCheckOut=true, validatePeriodically=true, validatePeriod=PT5M, validateTimeout=PT5S], activator=null, passivator=[org.ldaptive.pool.BindPassivator@849335549::bindRequest=[org.ldaptive.BindRequest@1538998317::bindDn=xxx, saslConfig=null, controls=null, referralHandler=null, intermediateResponseHandlers=null]], validator=[org.ldaptive.pool.SearchValidator@116117659::searchRequest=[org.ldaptive.SearchRequest@-443793180::baseDn=, searchFilter=[org.ldaptive.SearchFilter@1642584434::filter=(objectClass=*), parameters={}], returnAttributes=[1.1], searchScope=OBJECT, timeLimit=PT0S, sizeLimit=1, derefAliases=null, typesOnly=false, binaryAttributes=null, sortBehavior=UNORDERED, searchEntryHandlers=null, searchReferenceHandlers=[org.ldaptive.referral.SearchReferralHandler$SearchReferenceHandler@2ae08b56], controls=null, referralHandler=org.ldaptive.referral.SearchReferralHandler@3f986f6a, intermediateResponseHandlers=null]] pruneStrategy=[org.ldaptive.pool.IdlePruneStrategy@294447604::prunePeriod=PT2H, idleTime=PT10M], connectOnCreate=true, connectionFactory=[org.ldaptive.DefaultConnectionFactory@1401748428::provider=org.ldaptive.provider.jndi.JndiProvider@4c1c1ad5, config=[org.ldaptive.ConnectionConfig@805555971::ldapUrl=ldap://XXX, connectTimeout=PT5S, responseTimeout=PT5S, sslConfig=[org.ldaptive.ssl.SslConfig@1177965502::credentialConfig=null, trustManagers=null, hostnameVerifier=org.ldaptive.ssl.DefaultHostnameVerifier@7250922f, hostnameVerifierConfig=null, enabledCipherSuites=null, enabledProtocols=null, handshakeCompletedListeners=null], useSSL=false, useStartTLS=false, connectionInitializer=[org.ldaptive.BindConnectionInitializer@1580655618::bindDn=XXX, bindSaslConfig=null, bindControls=null], connectionStrategy=org.ldaptive.DefaultConnectionStrategy@70e35310]], initialized=false, availableCount=0, activeCount=0] unable to connect to the ldap>
org.ldaptive.provider.ConnectionException: javax.naming.CommunicationException: xxx [Root exception is java.net.ConnectException: Connection refused: connect]
at org.ldaptive.provider.jndi.JndiConnectionFactory.createInternal(JndiConnectionFactory.java:92) ~[ldaptive-1.2.4.jar!/:?]
at org.ldaptive.provider.jndi.JndiConnectionFactory.createInternal(JndiConnectionFactory.java:21) ~[ldaptive-1.2.4.jar!/:?]
at org.ldaptive.provider.AbstractProviderConnectionFactory.create(AbstractProviderConnectionFactory.java:84) ~[ldaptive-1.2.4.jar!/:?]
at org.ldaptive.DefaultConnectionFactory$DefaultConnection.open(DefaultConnectionFactory.java:267) ~[ldaptive-1.2.4.jar!/:?]
at org.ldaptive.pool.AbstractConnectionPool.createConnection(AbstractConnectionPool.java:455) ~[ldaptive-1.2.4.jar!/:?]
at org.ldaptive.pool.AbstractConnectionPool.createAvailableConnection(AbstractConnectionPool.java:494) ~[ldaptive-1.2.4.jar!/:?]
at org.ldaptive.pool.AbstractConnectionPool.grow(AbstractConnectionPool.java:344) ~[ldaptive-1.2.4.jar!/:?]
at org.ldaptive.pool.AbstractConnectionPool.initialize(AbstractConnectionPool.java:253) ~[ldaptive-1.2.4.jar!/:?]
at org.apereo.cas.util.LdapUtils.newLdaptiveBlockingConnectionPool(LdapUtils.java:978) ~[cas-server-support-ldap-core-5.3.9.jar!/:5.3.9]
at org.apereo.cas.util.LdapUtils.newLdaptivePooledConnectionFactory(LdapUtils.java:733) ~[cas-server-support-ldap-core-5.3.9.jar!/:5.3.9]
at org.apereo.cas.util.LdapUtils.getAuthenticatedOrAnonSearchAuthenticator(LdapUtils.java:659) ~[cas-server-support-ldap-core-5.3.9.jar!/:5.3.9]
at org.apereo.cas.util.LdapUtils.newLdaptiveAuthenticator(LdapUtils.java:645) ~[cas-server-support-ldap-core-5.3.9.jar!/:5.3.9]
at org.apereo.cas.config.LdapAuthenticationConfiguration.lambda$ldapAuthenticationHandlers$0(LdapAuthenticationConfiguration.java:98) ~[cas-server-support-ldap-5.3.9.jar!/:?]

Curtis Ruck

unread,
Jul 26, 2019, 1:27:59 AM7/26/19
to CAS Community

Its trying to initialize the connection pools.  Maybe lower your minPoolSize to 0, so it is lazy initialized.
Reply all
Reply to author
Forward
0 new messages