On Tue, Feb 21, 2012 at 9:23 AM, Bryan E. Wooten <[email protected]> wrote:
> Thanks Bill,
>
> That is what I thought, but wasn't sure. After I make that change and restart 
> the cas servers do I need to truncate the locks table to get things going 
> again?

I'd truncate prior to bringing up the CAS servers.  I'd also clear out
the ticket registry tables.

Bill


>
> -Bryan
>
> -----Original Message-----
> From: William G. Thompson, Jr. [mailto:[email protected]]
> Sent: Tuesday, February 21, 2012 7:17 AM
> To: [email protected]
> Subject: Re: [cas-user] Ticket Registery Cleaner not cleaning
>
> host.name={should be a unique value for each node}
>
> host.name is used in the JdbcLockingStrategy:
>>   <bean id="cleanerLock"  
>> class="org.jasig.cas.ticket.registry.support.JdbcLockingStrategy"
>>     p:uniqueId="${host.name}"
>
> I'll also note that Ehcache Ticket Registry support is coming in CAS
> 3.5 which would allow you to eliminate the Oracle component.
>
> Bill
>
>
> On Tue, Feb 21, 2012 at 8:44 AM, Bryan E. Wooten <[email protected]> 
> wrote:
>> Background: We had a bad LOCKS table definition for our Oracle JPA
>> Ticket Registry and were getting the TIMESTAMP cast exception. We
>> fixed that problem by doing a "table alter" while CAS was running and
>> restarted CAS (3 instances restarted in succession). Now I am getting this 
>> message:
>> [org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner] -
>> <Could not obtain lock.  Aborting cleanup.>
>>
>>
>>
>> My ticket registry now has 2.7 million rows and growing.
>>
>>
>>
>> We are running CAS server 3.4.5 with 3 CAS instances behind a load balancer.
>> All 3 have the same cas.properties:
>>
>>
>>
>>
>>
>> cas.securityContext.serviceProperties.service=https://go.utah.edu/cas/
>> services/j_acegi_cas_security_check
>>
>> # Names of roles allowed to access the CAS service manager
>>
>> cas.securityContext.serviceProperties.adminRoles=ROLE_ADMIN
>>
>>
>>
>> cas.securityContext.casProcessingFilterEntryPoint.loginUrl=https://go.
>> utah.edu/cas/login
>>
>> cas.securityContext.ticketValidator.casServerUrlPrefix=https://go.utah
>> .edu/cas
>>
>>
>>
>> cas.themeResolver.defaultThemeName=default
>>
>> cas.viewResolver.basename=default_views
>>
>>
>>
>> host.name=cas
>>
>> ticket.cleaner.database.platform=SQL92
>>
>>
>>
>> #database.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
>>
>> #database.hibernate.dialect=org.hibernate.dialect.MySQLDialect
>>
>> #database.hibernate.dialect=org.hibernate.dialect.HSQLDialect
>>
>>
>>
>> My ticket registry xml looks like this:
>>
>>
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>>
>> <beans xmlns="http://www.springframework.org/schema/beans";
>>
>>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>
>>   xmlns:p="http://www.springframework.org/schema/p";
>>
>>   xmlns:tx="http://www.springframework.org/schema/tx";
>>
>>   xsi:schemaLocation="http://www.springframework.org/schema/beans
>> http://www.springframework.org/schema/beans/spring-beans-3.0.xsd";>
>>
>>
>>
>>   <!-- Ticket Registry -->
>>
>>   <bean id="ticketRegistry"
>> class="org.jasig.cas.ticket.registry.JpaTicketRegistry">
>>
>>     <constructor-arg index="0" ref="entityManagerFactory" />
>>
>>   </bean>
>>
>>
>>
>>
>>
>>   <!-- TICKET REGISTRY CLEANER -->
>>
>>   <bean id="ticketRegistryCleaner"
>>
>>
>> class="org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner"
>>
>>     p:ticketRegistry-ref="ticketRegistry"
>>
>>     p:lock-ref="cleanerLock"
>>
>>   />
>>
>>
>>
>>   <bean id="cleanerLock"
>>
>>     class="org.jasig.cas.ticket.registry.support.JdbcLockingStrategy"
>>
>>     p:uniqueId="${host.name}"
>>
>>     p:platform="${ticket.cleaner.database.platform}"
>>
>>     p:applicationId="cas-ticket-registry-cleaner"
>>
>>     p:dataSource-ref="dataSource"
>>
>>   />
>>
>>
>>
>>   <bean id="ticketRegistryCleanerJobDetail"
>>
>>
>> class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>>
>>     p:targetObject-ref="ticketRegistryCleaner"
>>
>>     p:targetMethod="clean"
>>
>>   />
>>
>>
>>
>>   <bean id="periodicTicketRegistryCleanerTrigger"
>>
>>     class="org.springframework.scheduling.quartz.SimpleTriggerBean"
>>
>>     p:jobDetail-ref="ticketRegistryCleanerJobDetail"
>>
>>     p:startDelay="20000"
>>
>>     p:repeatInterval="1800000"
>>
>>   />
>>
>>
>>
>> </beans>
>>
>>
>>
>> Any ideas?
>>
>>
>>
>> Thanks,
>>
>>
>>
>> Bryan
>>
>> --
>> 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
>
>
> --
> 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

Reply via email to