cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: Query Cache and DataDomain Snap Shot Cache
Date Thu, 24 Sep 2009 08:16:21 GMT
You first enable JGroups in oscache.properties per OSCache docs:

http://www.opensymphony.com/oscache/wiki/Clustering.html

And then in your postUpdate/postRemove/postPersist listener you call

   dataContext.getQueryCache().removeGroup("groupName");

"groupName" should be the same String you are using in your select  
queries.

Andrus



On Sep 23, 2009, at 11:37 PM, Malcolm Edgar wrote:

> Thanks for that information I will give it ago.  Do you have an  
> example of a
> listener which performs a flush.  This is really what I am after, as  
> there
> are a relatively small tables which need to be synched, others don't  
> need to
> be.
> regards Malcolm Edgar
>
> On Wed, Sep 23, 2009 at 11:51 PM, Andrus Adamchik <andrus@objectstyle.org 
> >wrote:
>
>> You are correct - flushing query cache groups across the cluster with
>> JGroups (or something else) is a low overhead way to propagate  
>> updates. My
>> usual setup is to have post-update/remove/persist listeners  
>> generate a
>> distributed event with a cache group appropriate for the object  
>> being saved.
>> This allows to define flush granularity at any level desired.
>>
>> I don't have JGroups config specifically restricted to localhost,  
>> however I
>> haven't seen any problems with network flooding with mine. Unless  
>> you also
>> have some security considerations, you can use something like that:
>>
>>
>> UDP(mcast_addr=231.12.21.132;mcast_port=45569;ip_ttl=4;tos=0;mcast_send_buf_size=150000;mcast_recv_buf_size=80000;bind_port=20000;port_range=500):PING(timeout=2000;num_initial_members=3):MERGE2(min_interval=5000;max_interval=10000):FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800):UNICAST(timeout=300,600,1200,2400):pbcast.STABLE(desired_avg_gossip=20000):FRAG(frag_size=8096):pbcast.GMS(join_timeout=5000;shun=false;print_local_addr=true)
>>
>> Andrus
>>
>>
>> On Sep 23, 2009, at 4:34 PM, Malcolm Edgar wrote:
>>
>>> Hi All,
>>> I am looking to improve the performance of a set of web applications
>>> running. We have one application which is used mainly for
>>> adminsitration/configuration and a number of public facing web
>>> applications
>>> which can have a high load.
>>>
>>> I have been experimenting with OSCache but the problem I see is  
>>> that the
>>> query cache and the object cache are not unified, so I sometimes  
>>> have
>>> situations where the objects from the caches are not consistent.   
>>> While
>>> the
>>> query cache can timeout, the object cache doesn't, so if another web
>>> application makes an update the object cache in this application  
>>> is not
>>> updated.
>>>
>>> I presume the answer to this problem is using JGroups, if so does  
>>> anyone
>>> have a configuration where its constrained to localhost. I don't  
>>> really
>>> want
>>> to be broadcasting notification messages across the network.
>>>
>>> regards Malcolm Edgar
>>>
>>
>>


Mime
View raw message