Hi All,
I was wondering if anyone is having problems with ticket expiration in a
multi-node setup.
We are currently running 2 GlassFish v2.1 Application servers, using a MySQL DB
as the ticket registry. Recently we've been seeing errors in our production
setup with the following stack trace below. From what I can see the not is
attempting to remove a ticket from it's local persistence store but failing as
it's been already removed by the other node perhaps, not sure. I've also
noticed that there appears to be a lot of tickets in the database that have
expired, but have not been deleted.
Usually shortly after this exception the application server freezes up for
around 30 seconds and service is unavailable on one of the nodes. Does anybody
have a similar setup, or any ideas about this issue?
Thanks
Paul
[#|2010-06-23T07:31:25.440+0100|SEVERE|sun-appserver2.1|org.quartz.core.JobRunShell|_ThreadID=467;_ThreadName=scheduler_Worker-9;_RequestID=68a374fb-23dd-4d60-ba12-71d7dbe5c2d9;|Job
DEFAULT.jobDetailTic
ketRegistryCleaner threw an unhandled Exception:
org.springframework.scheduling.quartz.JobMethodInvocationFailedException:
Invocation of method 'clean' on target class [class
org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner] failed;
nested exception is
org.springframework.orm.jpa.JpaObjectRetrievalFailureException: Unable to find
org.jasig.cas.ticket.TicketGrantingTicketImpl with id
TGT-114064-WcfPfIzfkFOTPMq9MgBDmjsVehIFyZBCTwsZUR
zbyeJAktEOLN-login.ulster.ac.uk; nested exception is
javax.persistence.EntityNotFoundException: Unable to find
org.jasig.cas.ticket.TicketGrantingTicketImpl with id
TGT-114064-WcfPfIzfkFOTPMq9MgBDmjsVeh
IFyZBCTwsZURzbyeJAktEOLN-login.ulster.ac.uk
at
org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:269)
at
org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
Caused by: org.springframework.orm.jpa.JpaObjectRetrievalFailureException:
Unable to find org.jasig.cas.ticket.TicketGrantingTicketImpl with id
TGT-114064-WcfPfIzfkFOTPMq9MgBDmjsVehIFyZBCTwsZURzbyeJAktE
OLN-login.ulster.ac.uk; nested exception is
javax.persistence.EntityNotFoundException: Unable to find
org.jasig.cas.ticket.TicketGrantingTicketImpl with id
TGT-114064-WcfPfIzfkFOTPMq9MgBDmjsVehIFyZBCTws
ZURzbyeJAktEOLN-login.ulster.ac.uk
at
org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:276)
at
org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:97)
at
org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:212)
at
org.springframework.orm.jpa.JpaAccessor.translateIfNecessary(JpaAccessor.java:152)
at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:189)
at
org.springframework.orm.jpa.JpaTemplate.executeFind(JpaTemplate.java:151)
at org.springframework.orm.jpa.JpaTemplate.find(JpaTemplate.java:311)
at org.springframework.orm.jpa.JpaTemplate.find(JpaTemplate.java:307)
at
org.jasig.cas.ticket.registry.JpaTicketRegistry.getTickets(JpaTicketRegistry.java:118)
at sun.reflect.GeneratedMethodAccessor775.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
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.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 $Proxy43.getTickets(Unknown Source)
at
org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner.clean(DefaultTicketRegistryCleaner.java:62)
at sun.reflect.GeneratedMethodAccessor774.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:276)
at
org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:260)
... 3 more
Caused by: javax.persistence.EntityNotFoundException: Unable to find
org.jasig.cas.ticket.TicketGrantingTicketImpl with id
TGT-114064-WcfPfIzfkFOTPMq9MgBDmjsVehIFyZBCTwsZURzbyeJAktEOLN-login.ulster.ac.u
k
at
org.hibernate.ejb.Ejb3Configuration$Ejb3EntityNotFoundDelegate.handleEntityNotFound(Ejb3Configuration.java:109)
at
org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:145)
at
org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:179)
at
org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:103)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:846)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:557)
at org.hibernate.type.EntityType.resolve(EntityType.java:379)
at
org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116)
at
org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
at org.hibernate.loader.Loader.doQuery(Loader.java:729)
at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
at
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:66)
at
org.springframework.orm.jpa.JpaTemplate$9.doInJpa(JpaTemplate.java:319)
at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:184)
... 25 more
|#]
This email and any attachments are confidential and intended solely for the use
of the addressee and may contain information which is covered by legal,
professional or other privilege. If you have received this email in error
please notify the system manager at [email protected]. The University's
computer systems may be monitored and communications carried on them recorded
to secure the effective operation of the system and for other lawful purposes.
--
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