Greetings,
We are having similar issues on our end. Not sure if it helps but here is
what I did.
1) Connect timeout was set to 2000 ms
2) Ran a snoop on Directory Server (DS) to catch one of these time our error
Snoop Output excerpt:
scope: wholeSubtree (2)
derefAliases: derefAlways (3)
sizeLimit: 1000
timeLimit: 2
typesOnly: False
Filter: (uid=xxx)
Notice the filter is simple as can be and the attribute is indexed. The
search should take no more than a few ms.
3) Upped the timeout 5000 ms. The timeouts still persisted.
I also checked the time stamps to make sure network latency was the not the
issue and indeed timeout on the DS and the CAS servers are the same.
At this point we believe it has something to do with the directory server.
We are opening a ticket with the Oracle/Sun to see why a simple filter like
that would take that long.
Ahsan
On Fri, Jan 7, 2011 at 3:44 AM, MATTHIEU VAREILLE <[email protected]>wrote:
> Hi,
> my log :
>
> 2011-01-07 10:12:19,633 ERROR
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - [LDAP: error code 3 - Timelimit Exceeded]; nested exception is
> javax.naming.TimeLimitExceededException: [LDAP: error code 3 - Timelimit
> Exceeded]; remaining name 'OU=people,DC=univ-corse,DC=fr'
> org.springframework.ldap.TimeLimitExceededException: [LDAP: error code 3 -
> Timelimit Exceeded]; nested exception is
> javax.naming.TimeLimitExceededException: [LDAP: error code 3 - Timelimit
> Exceeded]; remaining name 'OU=people,DC=univ-corse,DC=fr'
> at
> org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:149)
> at
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:319)
> at
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:259)
> at
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:571)
> at
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:556)
> at
> org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver.resolveFromLDAP(CredentialsToLDAPAttributePrincipalResolver.java:70)
> at
> org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver.extractPrincipalId(CredentialsToLDAPAttributePrincipalResolver.java:47)
> at
> org.jasig.cas.authentication.principal.AbstractPersonDirectoryCredentialsToPrincipalResolver.resolvePrincipal_aroundBody0(AbstractPersonDirectoryCredentialsToPrincipalResolver.java:43)
> at
> org.jasig.cas.authentication.principal.AbstractPersonDirectoryCredentialsToPrincipalResolver.resolvePrincipal_aroundBody1$advice(AbstractPersonDirectoryCredentialsToPrincipalResolver.java:44)
> at
> org.jasig.cas.authentication.principal.AbstractPersonDirectoryCredentialsToPrincipalResolver.resolvePrincipal(AbstractPersonDirectoryCredentialsToPrincipalResolver.java:1)
> at
> org.jasig.cas.authentication.AuthenticationManagerImpl.authenticateAndObtainPrincipal(AuthenticationManagerImpl.java:114)
> at
> org.jasig.cas.authentication.AbstractAuthenticationManager.authenticate_aroundBody0(AbstractAuthenticationManager.java:42)
> at
> org.jasig.cas.authentication.AbstractAuthenticationManager.authenticate_aroundBody1$advice(AbstractAuthenticationManager.java:44)
> at
> org.jasig.cas.authentication.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:1)
> at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
> at
> org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
> at
> com.github.inspektr.audit.AuditTrailManagementAspect.handleAuditTrail(AuditTrailManagementAspect.java:122)
> at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:622)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:611)
> at
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
> at
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
> at $Proxy14.authenticate(Unknown Source)
> at
> org.jasig.cas.CentralAuthenticationServiceImpl.createTicketGrantingTicket_aroundBody10(CentralAuthenticationServiceImpl.java:406)
> at
> org.jasig.cas.CentralAuthenticationServiceImpl.createTicketGrantingTicket_aroundBody11$advice(CentralAuthenticationServiceImpl.java:44)
> at
> org.jasig.cas.CentralAuthenticationServiceImpl.createTicketGrantingTicket(CentralAuthenticationServiceImpl.java:1)
> at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
> at
> org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
> at
> org.perf4j.aop.AbstractTimingAspect.doPerfLogging(AbstractTimingAspect.java:71)
> at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:622)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:611)
> at
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
> at
> org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
> at
> com.github.inspektr.audit.AuditTrailManagementAspect.handleAuditTrail(AuditTrailManagementAspect.java:122)
> at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:622)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:611)
> at
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
> at
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
> at $Proxy16.createTicketGrantingTicket(Unknown Source)
> at
> org.jasig.cas.web.flow.AuthenticationViaFormAction.submit_aroundBody2(AuthenticationViaFormAction.java:85)
> at
> org.jasig.cas.web.flow.AuthenticationViaFormAction.submit_aroundBody3$advice(AuthenticationViaFormAction.java:44)
> at
> org.jasig.cas.web.flow.AuthenticationViaFormAction.submit(AuthenticationViaFormAction.java:1)
> at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:851)
> at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1253)
> at
> ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:68)
> at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:1329)
> at ognl.ASTMethod.getValueBody(ASTMethod.java:90)
> at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
> at ognl.SimpleNode.getValue(SimpleNode.java:258)
> at ognl.ASTChain.getValueBody(ASTChain.java:141)
> at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
> at ognl.SimpleNode.getValue(SimpleNode.java:258)
> at ognl.Ognl.getValue(Ognl.java:494)
> at
> org.springframework.binding.expression.ognl.OgnlExpression.getValue(OgnlExpression.java:85)
> at
> org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:77)
> at
> org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
> at
> org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)
> at
> org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
> at
> org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:101)
> at org.springframework.webflow.engine.State.enter(State.java:194)
> at
> org.springframework.webflow.engine.Transition.execute(Transition.java:227)
> at
> org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:391)
> at
> org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
> at
> org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:119)
> at
> org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555)
> at
> org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:386)
> at
> org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
> at
> org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:230)
> at
> org.springframework.webflow.engine.ViewState.resume(ViewState.java:196)
> at org.springframework.webflow.engine.Flow.resume(Flow.java:545)
> at
> org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259)
> at
> org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:163)
> at
> org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183)
> at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
> at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.jasig.cas.web.init.SafeDispatcherServlet.service_aroundBody2(SafeDispatcherServlet.java:115)
> at
> org.jasig.cas.web.init.SafeDispatcherServlet.service_aroundBody3$advice(SafeDispatcherServlet.java:44)
> at
> org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:1)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> com.github.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:46)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> at java.lang.Thread.run(Thread.java:662)
> Caused by: javax.naming.TimeLimitExceededException: [LDAP: error code 3 -
> Timelimit Exceeded]; remaining name 'OU=people,DC=univ-corse,DC=fr'
> at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3097)
> at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2987)
> at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2794)
> at
> com.sun.jndi.ldap.LdapNamingEnumeration.getNextBatch(LdapNamingEnumeration.java:129)
> at
> com.sun.jndi.ldap.LdapNamingEnumeration.hasMoreImpl(LdapNamingEnumeration.java:198)
> at
> com.sun.jndi.ldap.LdapNamingEnumeration.hasMore(LdapNamingEnumeration.java:171)
> at
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:295)
> ... 123 more
>
> thanks
>
> ------------------------------
>
> De: "Marvin Addison" <[email protected]>
> À: [email protected]
> Envoyé: Mercredi 5 Janvier 2011 17:47:37
>
> Objet: Re: [cas-user] CAS LDAP time exceeded
>
> > but when i have to concurry access at the same second for 2 users, i
> > see "Cas is unavalaible" :
> > Logs :
> > Wed Jan 05 17:19:32 CET 2011 - AUTHENTICATION_FAILED for '[username:
> > vareille]' from '193.48.31.67'
> > Wed Jan 05 17:19:32 CET 2011 - AUTHENTICATION_SUCCESS for '[username:
> > mattei]' from '81.251.238.148'
>
> Can you turn up the verbosity of your logs and repost? Set the
> org.jasig.cas logger to DEBUG. See
> https://wiki.jasig.org/display/CASUM/Logging if you need help with
> log4j configuration.
>
> M
>
> -- You are currently subscribed to [email protected] as:
> [email protected] To unsubscribe, change settings or access
>
> archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user
>
> --
> You are currently subscribed to [email protected] as:
> [email protected]
> To unsubscribe, change settings or access archives, see
> http://www.ja-sig.org/wiki/display/JSG/cas-user
>
>
--
s/Ahsan/\/AHSAN\/g
--
You are currently subscribed to [email protected] as:
[email protected]
To unsubscribe, change settings or access archives, see
http://www.ja-sig.org/wiki/display/JSG/cas-user