CAS memory issues

Scott Battaglia scott.battaglia at gmail.com
Thu Sep 4 09:49:47 EDT 2008


That error means that you're single sign out is timing out instead of
completing (its most likely due to firewall blocks).   If you don't have
plans on using Single Sign Out, you can disable it.  At a minimum it would
help clean up the logs ;-)

-Scott

On 9/3/08, Derek Ethier <derek.ethier at humber.ca> wrote:
>
>  It would be at it's default setting. I'm trying to track down some log
> file entries to confirm that it is removing older tickets. I did notice an
> awful lot of these error messages though. Any ideas?
>
> 2008-09-03 17:40:14,886 ERROR [org.jasig.cas.util.HttpClient] -
> <java.net.SocketTimeoutException: Read timed out>
> java.net.SocketTimeoutException: Read timed out
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>         at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>         at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
>         at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>         at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1000)
>         at
> org.jasig.cas.util.HttpClient.sendMessageToEndPoint(HttpClient.java:76)
>         at
> org.jasig.cas.authentication.principal.AbstractWebApplicationService.logOutOfService(AbstractWebApplicationService.java:147)
>         at
> org.jasig.cas.ticket.TicketGrantingTicketImpl.logOutOfServices(TicketGrantingTicketImpl.java:115)
>         at
> org.jasig.cas.ticket.TicketGrantingTicketImpl.expire(TicketGrantingTicketImpl.java:125)
>         at
> org.jasig.cas.CentralAuthenticationServiceImpl.destroyTicketGrantingTicket(CentralAuthenticationServiceImpl.java:153)
>         at sun.reflect.GeneratedMethodAccessor84.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:310)
>         at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
>         at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
>         at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
>         at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
>         at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>         at $Proxy25.destroyTicketGrantingTicket(Unknown Source)
>         at
> org.jasig.cas.web.LogoutController.handleRequestInternal(LogoutController.java:63)
>         at
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>         at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>         at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
>         at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
>         at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
>         at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at
> org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48)
>         at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
>         at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
>         at
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
>         at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
>         at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:619)
>
> *Yale CAS mailing list <cas at tp.its.yale.edu> on September-03-08 at 4:33 PM
> -0400 wrote:*
> We're running the following:
> * Tomcat 5.5.25 (or .26, can't recall exactly, we've also used Tomcat
> 5.5.20, 5.5.17, 5.0.28)
> * Java 6 (though we used to use Java 5 with no issues)
> * Apache 2.2 (used to use Apache 1.3)
> * Solaris 10
>
> If you're running out of memory, are you sure the registry cleaner is still
> enabled?
>
> -Scott
>
>
> On 9/3/08, *Derek Ethier* <derek.ethier at humber.ca> wrote:
>
>
> Scott, out of curiousity, what version of tomcat and java are you running?
> We're gone with the settings that Renato posted (Xms 512 Xmx 1600) and we're
> still hitting swap after about 10 hours of use (which isn't necessarily a
> bad thing, just worried) and we still require a tomcat restart every
> morning.
>
> We're only running tomcat/apache on the server, nothing else. Tomcat 5.5.20
> and Java 1.6.0_03.
>  *Yale CAS mailing list <**cas at tp.its.yale.edu* <cas at tp.its.yale.edu>*> on
> September-03-08 at 1:13 PM -0400 wrote:*
> We have 50K users and we have similar JAVA_OPTS.  I don't know how many
> tickets we issue a day but I have some 120K+ authentications per day (which
> would mean that more tickets are generated).
>
> Anything else live in that JVM?  Any special customizations?
> -Scott
>
> On 9/3/08, *Renato Giron* <renato.giron at yahoo.com> wrote:
>
>
> All our distance learning students authenticate through CAS into their
> blackboard account. We also have several casified applications. It may just
> be too much load. Performance is great though.
>
> I noticed the documentation for JDBCTicketRegistry and BerkleyDB is empty.
> I would really like to play with these alternatives to ticket registry.
>
>
> --- On *Wed, 9/3/08, Scott Battaglia **<**scott.battaglia at gmail.com*<scott.battaglia at gmail.com>
> *>* wrote:
>
> From: Scott Battaglia <scott.battaglia at gmail.com>
> Subject: Re: CAS memory issues
> To: renato.giron at yahoo.com, "Yale CAS mailing list" <cas at tp.its.yale.edu>
> Date: Wednesday, September 3, 2008, 10:05 AM
>
>
> We maintain a list of documentation here:
> http://www.ja-sig.org/wiki/display/CASUM/Home
>
> You'll find the different ticket stores there.  But again, it would seem
> weird that you're having memory issues, as the same mechanism has been used
> for years (though your usage pattern could be significantly different I
> guess).
>
> -Scott
>
> On 9/2/08, *Renato Giron* <renato.giron at yahoo.com> wrote:
>  Thank you Scott,
>
> I will try to get the memory dump on the production server (since I don't
> think it will be worth  doing it on test.)
>
> In the mean time, Is there a documentation that I can read for setting up
> DB ticket store?
>
> Thanks for your time and support.
>
>
>
> --- On *Tue, 9/2/08, Scott Battaglia **<**scott.battaglia at gmail.com*<scott.battaglia at gmail.com>
> *>* wrote:
>
> From: Scott Battaglia <scott.battaglia at gmail.com>
> Subject: Re: CAS memory issues
> To: renato.giron at yahoo.com, "Yale CAS mailing list" <cas at tp.its.yale.edu>
> Date: Tuesday, September 2, 2008, 5:15 PM
>
>
> We've been using CAS in production since 2005 with the same in-memory
> ticket store (and most likely less allocated memory and haven't experienced
> that problem).  If you can, use a tool to get a memory dump and see what
> objects are being held on to.
>
> Also if you wrote any custom code make sure its not holding on to anything
> accidentally.
>
> -Scott
>
> On 9/2/08, *Renato Giron* <renato.giron at yahoo.com> wrote:
>  Hello friends,
>
> I posted this message several months ago. I still have the same memory
> issue even after upgrading to 3.2.1. Can some one point me to the right
> direction for utilizing a database for tickets registry storage?
>
> Thanks in advance.
>
> *"My CAS 3.1 application does not free up memory considerably during
> garbage *
> *collection. The amount of memory that is freed up decreases on each
> garbage*
> *collection until there is no more memory available and the application
> crashes.*
> *I looked at the CAS logs and it seems to be clearing expired tickets
> every three *
> *hours.*
>
> *I am using the WAR file that comes with the distribution with no changes
> (except*
> *for UI) My application is used by approximately 30K users and it seems to
> be*
> *handling the load with no problems.*
>
> *I am new to CAS so I would like to hear some advice from the experts. Is
> this a*
> *CAS design issue? Is there a way to optimize tickets registry? Can
> tickets be*
> *registered on database engines (like MySQL)?*
>
> *This is my current configuration: *
>
> *-Windows 2003 **Server*<http://osdir.com/ml/java.jasig.cas.user/2007-10/msg00007.html#>
> *-Tomcat 5.5 JRE 1.6*
> *-CAS 3.1*
> *-Xms512m*
> *-Xmx1600m"*
>
>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> "ttp://tp.its.yale.edu/mailman/listinfo/cas<http://tp.its.yale.edu/mailman/listinfo/cas>
>
>
>
>
>
> --
> -Scott Battaglia
> PGP Public Key Id: 0x383733AA
> LinkedIn: "ttp://www.linkedin.com/in/scottbattaglia<http://www.linkedin.com/in/scottbattaglia>
>
>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> "ttp://tp.its.yale.edu/mailman/listinfo/cas<http://tp.its.yale.edu/mailman/listinfo/cas>
>
>
>
>
>
> --
> -Scott Battaglia
> PGP Public Key Id: 0x383733AA
> LinkedIn: "ttp://www.linkedin.com/in/scottbattaglia<http://www.linkedin.com/in/scottbattaglia>
>
>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> "ttp://tp.its.yale.edu/mailman/listinfo/cas<http://tp.its.yale.edu/mailman/listinfo/cas>
>
>
>
>
>
>
> --
> -Scott Battaglia
> PGP Public Key Id: 0x383733AA
> LinkedIn: "ttp://www.linkedin.com/in/scottbattaglia<http://www.linkedin.com/in/scottbattaglia>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> "ttp://tp.its.yale.edu/mailman/listinfo/cas
>
>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas
>
>
>
>
>
>
> --
> -Scott Battaglia
> PGP Public Key Id: 0x383733AA
> LinkedIn: http://www.linkedin.com/in/scottbattaglia
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas
>
>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas
>
>


-- 
-Scott Battaglia
PGP Public Key Id: 0x383733AA
LinkedIn: http://www.linkedin.com/in/scottbattaglia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://tp.its.yale.edu/pipermail/cas/attachments/20080904/2ce1e24a/attachment.html 


More information about the cas mailing list