TicketRegistry and Load Balancing / Failover

Scott Battaglia scott_battaglia at rutgers.edu
Wed Jun 14 21:29:23 EDT 2006


Marc,

Can you provide me with your code to test the registry under load?  I'll 
take a look at it.  CAS uses a wrapper class to update the caches to 
make sure information is consistent.  This may need to be tweaked.

-Scott

Scott Battaglia
Application Developer, Architecture & Engineering Team
Enterprise Systems and Services, Rutgers University
v: 732.445.0097 | f: 732.445.5493 | scott_battaglia at rutgers.edu 



marc antoine garrigue wrote:
> Hi,
> I've set up a configuration for EhCacheTicketRegistry with ticket
> replication between two cas instances for fail over/load balancing.
> Please not that you'll need to get the very last version of ehcache 1.2.1RC
> which "add a cache bootstrap mechanism. This is used to populate a cache
> when it is first initialized. An abstract factory,
> BootstrapCacheLoaderFactory has been defined along with an interface
> BootstrapCacheLoader. The initial concrete implementations are for RMI, so
> that a new cache entering a cluster gets bootstrapped from a randomly chosen
> peer."
>
> Both asynchronous and synchronous replication passed the unit tests.
> Under stress tests: 
> do while(true){log in, ask for a ST and validate it} on both instances,
> some strange things happened:
> -With asynchronous replication, the resulting caches are not the same, and
> some tickets are never deleted. This means that a service ticket can be used
> twice. I assume the same can occur with TGT with logout.
> -With synchronous replication, both servers freeze after a couple of
> seconds: a thread dump shows lots of locked threads.
> I have tried: 
> -Both RMI/JNDI peer listeners
> -Both manual and automatic peer discovery
> -to add a couple of synchronized blocks in the EhCacheTicketRegistry 
> without any success...
> I'm a little disappointed wondering if this is an Ehcache or CAS issue.
> I've also write a JGroupsTicketRegistry implementation using the
> DistributedHashTable which is currently deprecated.
> This works under stress tests but with a significant performance lost
> comparing to ehcache (about 4 times slower than ehcache), but I hadn't tuned
> it.
> I can provide the whole code and configuration if you are interested.
> Hope this helps!
> Best regards
> Marc-Antoine Garrigue 
>
>
>   
>> -----Original Message-----
>> From: cas-bounces at tp.its.yale.edu [mailto:cas-bounces at tp.its.yale.edu] On
>> Behalf Of Stephen A. Cochran
>> Sent: mercredi 14 juin 2006 19:50
>> To: Yale CAS mailing list
>> Subject: Re: TicketRegistry and Load Balancing / Failover
>>
>>
>> On Jun 14, 2006, at 1:38 PM, Scott Battaglia wrote:
>>
>>     
>>> I probably just moved it :-)
>>>
>>> Its here:
>>> http://developer.ja-sig.org/source/viewrep/jasig/cas3/core/src/main/
>>> java/org/jasig/cas/ticket/registry/EhCacheTicketRegistry.java?r=1.2
>>>
>>> I don't remember where I put the configuration file example
>>> though.  The
>>> EhCache web site should have details on configuring the ehcache.xml
>>> file
>>> for distributed caches.
>>>       
>> Ok, I must have missed that one. I thought I looked at them all and
>> kept finding deleted ones and a reference to a bug that said
>> something didn't work ;)
>>
>> Will give it a try.
>>
>> Steve
>> _______________________________________________
>> 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
>   


More information about the cas mailing list