Hi

I'm using CAS 6.2.0 in an overlay project. with the following setup


   - JPA ticket store on MariaDB 10.3
   - Ticket cleaner configured
   - OICD, JPA and JWT tickets issuing configured

The errors I'm seeing in the logs are when the ticket cleaner tries to
remove expired tickets from the database.

*Sorry long stack incoming.....*
2020-07-06 11:24:12,878 TRACE
[org.apereo.cas.ticket.registry.JpaTicketRegistry] - <Creating query
[DELETE FROM ServiceTicketImpl s WHERE s.ticketGrantingTicket.id = :id]>
2020-07-06 11:24:12,879 TRACE
[org.apereo.cas.ticket.registry.JpaTicketRegistry] - <Creating query
[DELETE FROM OAuth20DefaultRefreshToken s WHERE s.ticketGrantingTicket.id =
:id]>
2020-07-06 11:24:12,879 TRACE
[org.apereo.cas.ticket.registry.JpaTicketRegistry] - <Creating query
[DELETE FROM OAuth20DefaultAccessToken s WHERE s.ticketGrantingTicket.id =
:id]>
2020-07-06 11:24:12,880 TRACE
[org.apereo.cas.ticket.registry.JpaTicketRegistry] - <Creating query
[DELETE FROM ProxyTicketImpl s WHERE s.ticketGrantingTicket.id = :id]>
2020-07-06 11:24:12,880 TRACE
[org.apereo.cas.ticket.registry.JpaTicketRegistry] - <Creating query
[DELETE FROM OAuth20DefaultCode s WHERE s.ticketGrantingTicket.id = :id]>
2020-07-06 11:24:12,880 TRACE
[org.apereo.cas.ticket.registry.JpaTicketRegistry] - <Creating query
[DELETE FROM TicketGrantingTicketImpl s WHERE s.ticketGrantingTicket.id =
:id]>
2020-07-06 11:24:12,880 TRACE
[org.apereo.cas.ticket.registry.JpaTicketRegistry] - <Creating query
[DELETE FROM TransientSessionTicketImpl s WHERE s.ticketGrantingTicket.id =
:id]>
2020-07-06 11:24:12,881 TRACE
[org.apereo.cas.ticket.registry.JpaTicketRegistry] -
<org.hibernate.QueryException: *could not resolve property:
ticketGrantingTicket of: org.apereo.cas.ticket.TransientSessionTicketImpl*
[DELETE FROM org.apereo.cas.ticket.TransientSessionTicketImpl s WHERE
s.ticketGrantingTicket.id = :id]>
java.lang.IllegalArgumentException: org.hibernate.QueryException: could not
resolve property: ticketGrantingTicket of:
org.apereo.cas.ticket.TransientSessionTicketImpl [DELETE FROM
org.apereo.cas.ticket.TransientSessionTicketImpl s WHERE
s.ticketGrantingTicket.id = :id]
at
org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138)
~[hibernate-core-5.4.16.Final.jar!/:5.4.16.Final]
at
org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181)
~[hibernate-core-5.4.16.Final.jar!/:5.4.16.Final]
at
org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188)
~[hibernate-core-5.4.16.Final.jar!/:5.4.16.Final]
at
org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:725)
~[hibernate-core-5.4.16.Final.jar!/:5.4.16.Final]
at
org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:113)
~[hibernate-core-5.4.16.Final.jar!/:5.4.16.Final]
at jdk.internal.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
~[?:?]
at
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at
org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:314)
~[spring-orm-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at com.sun.proxy.$Proxy237.createQuery(Unknown Source) ~[?:?]
at
org.apereo.cas.ticket.registry.JpaTicketRegistry.lambda$deleteTicketGrantingTickets$6(JpaTicketRegistry.java:244)
~[cas-server-support-jpa-ticket-registry-6.2.0.jar!/:6.2.0]
at
java.util.stream.ReferencePipeline$4$1.accept(ReferencePipeline.java:212)
~[?:?]
at
java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
~[?:?]
at
java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654)
~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
~[?:?]
at
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
~[?:?]
at
java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
~[?:?]
at java.util.stream.IntPipeline.reduce(IntPipeline.java:491) ~[?:?]
at java.util.stream.IntPipeline.sum(IntPipeline.java:449) ~[?:?]
at
org.apereo.cas.ticket.registry.JpaTicketRegistry.deleteTicketGrantingTickets(JpaTicketRegistry.java:252)
~[cas-server-support-jpa-ticket-registry-6.2.0.jar!/:6.2.0]
at
org.apereo.cas.ticket.registry.JpaTicketRegistry.deleteSingleTicket(JpaTicketRegistry.java:210)
~[cas-server-support-jpa-ticket-registry-6.2.0.jar!/:6.2.0]
at
org.apereo.cas.ticket.registry.AbstractTicketRegistry.deleteTicket(AbstractTicketRegistry.java:133)
~[cas-server-core-tickets-api-6.2.0.jar!/:6.2.0]
at
org.apereo.cas.ticket.registry.AbstractTicketRegistry$$FastClassBySpringCGLIB$$d3c67a11.invoke(<generated>)
~[cas-server-core-tickets-api-6.2.0.jar!/:6.2.0]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
~[spring-core-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:687)
~[spring-aop-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.apereo.cas.ticket.registry.JpaTicketRegistry$$EnhancerBySpringCGLIB$$589bb926.deleteTicket(<generated>)
~[cas-server-support-jpa-ticket-registry-6.2.0.jar!/:6.2.0]
at jdk.internal.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
~[?:?]
at
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at
org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282)
~[spring-core-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:499)
~[spring-cloud-context-2.2.2.RELEASE.jar!/:2.2.2.RELEASE]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
~[spring-aop-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
~[spring-aop-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at com.sun.proxy.$Proxy158.deleteTicket(Unknown Source) ~[?:?]
at
org.apereo.cas.ticket.registry.DefaultTicketRegistryCleaner.cleanTicket(DefaultTicketRegistryCleaner.java:82)
~[cas-server-core-tickets-api-6.2.0.jar!/:6.2.0]
at
java.util.stream.ReferencePipeline$4$1.accept(ReferencePipeline.java:212)
~[?:?]
at
java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
~[?:?]
at
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
~[?:?]
at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]
at
java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
~[?:?]
at
java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
~[?:?]
at
org.hibernate.query.spi.StreamDecorator.forEach(StreamDecorator.java:155)
~[hibernate-core-5.4.16.Final.jar!/:5.4.16.Final]
at
java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274)
~[?:?]
at
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
~[?:?]
at
java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654)
~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
~[?:?]
at
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
~[?:?]
at
java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
~[?:?]
at java.util.stream.IntPipeline.reduce(IntPipeline.java:491) ~[?:?]
at java.util.stream.IntPipeline.sum(IntPipeline.java:449) ~[?:?]
at
org.apereo.cas.ticket.registry.DefaultTicketRegistryCleaner.cleanInternal(DefaultTicketRegistryCleaner.java:69)
~[cas-server-core-tickets-api-6.2.0.jar!/:6.2.0]
at
org.apereo.cas.ticket.registry.DefaultTicketRegistryCleaner.clean(DefaultTicketRegistryCleaner.java:45)
~[cas-server-core-tickets-api-6.2.0.jar!/:6.2.0]
at
org.apereo.cas.ticket.registry.DefaultTicketRegistryCleaner$$FastClassBySpringCGLIB$$29f046b2.invoke(<generated>)
~[cas-server-core-tickets-api-6.2.0.jar!/:6.2.0]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
~[spring-core-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
~[spring-aop-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
~[spring-aop-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
~[spring-aop-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
~[spring-tx-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
~[spring-tx-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
~[spring-aop-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
~[spring-aop-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
~[spring-aop-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.apereo.cas.ticket.registry.DefaultTicketRegistryCleaner$$EnhancerBySpringCGLIB$$d3411e42.clean(<generated>)
~[cas-server-core-tickets-api-6.2.0.jar!/:6.2.0]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:?]
at
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:?]
at
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at
org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282)
~[spring-core-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:499)
~[spring-cloud-context-2.2.2.RELEASE.jar!/:2.2.2.RELEASE]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
~[spring-aop-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
~[spring-aop-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at com.sun.proxy.$Proxy242.clean(Unknown Source) ~[?:?]
at
org.apereo.cas.config.CasCoreTicketsSchedulingConfiguration$TicketRegistryCleanerScheduler.run(CasCoreTicketsSchedulingConfiguration.java:101)
~[cas-server-core-tickets-6.2.0.jar!/:6.2.0]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:?]
at
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:?]
at
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at
org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84)
~[spring-context-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at
org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
~[spring-context-5.2.6.RELEASE.jar!/:5.2.6.RELEASE]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
~[?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
~[?:?]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
~[?:?]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
~[?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: org.hibernate.QueryException: could not resolve property:
ticketGrantingTicket of: org.apereo.cas.ticket.TransientSessionTicketImpl
[DELETE FROM org.apereo.cas.ticket.TransientSessionTicketImpl s WHERE
s.ticketGrantingTicket.id = :id]


I see the same error for

   - org.apereo.cas.ticket.TransientSessionTicketImpl
   - org.apereo.cas.ticket.device.OAuth20DefaultDeviceUserCode

The other types seem to delete fine.
I also get the same issue when trying to log out.

With this error on the front-end
Error: Exception thrown executing
org.apereo.cas.web.flow.logout.TerminateSessionAction@e353e1d in state
'terminateSession' of flow 'logout' -- action execution attributes were
'map[[empty]]'

So the issue really is that the tickets are not getting removed from the
database.

I see this method
org.apereo.cas.ticket.registry.JpaTicketRegistry#deleteTicketGrantingTickets
was changed quite a bit.

Any help would be appreciated.

Regards / Groete
*Charl Thiem*
Senior Developer | +27 (0) 21 970 4000 | [email protected] |
www.opencollab.co.za | @opencollab

-- 


See OpenCollab email disclaimer at 
http://www.opencollab.co.za/email-disclaimer 
<http://www.opencollab.co.za/email-disclaimer>

-- 
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
--- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAK5fTW5To5mSu3n04N8%3D5GxF4WAAHiKpasC_Mv0QiJPmQWD2mg%40mail.gmail.com.

Reply via email to