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

Reply via email to