[jboss-user] [JBossCache] - INVALIDATION_SYNC cache with STATE_TRANSFER NOT enabled

inrusu do-not-reply at jboss.com
Wed Feb 21 11:44:16 EST 2007

Hi there,

   I'm using JBossCache 1.4.1 SP1 with the TreeCache implementation as distributed cache in a clustered environment. All nodes are running on WAS6.1.03 on Windows XP Professional SP 2.Here you have  the cache configuration I'm using :

  |         NodeLockingScheme=PESSIMISTIC
  |         IsolationLevel=REPEATABLE_READ
  |         CacheMode=INVALIDATION_SYNC
  |         UseReplQueue=false
  |         ReplQueueInterval=0
  |         ReplQueueMaxElements=0
  |         ClusterName=ads-cluster
  |         ClusterProperties=
  |             <config>
  |                 <UDP mcast_addr="" mcast_port="48866"
  |                     ip_ttl="64" ip_mcast="true" 
  |                     mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
  |                     ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
  |                     loopback="false"/>
  |                 <PING timeout="2000" num_initial_members="3"
  |                     up_thread="false" down_thread="false"/>
  |                 <MERGE2 min_interval="10000" max_interval="20000"/>
  |                 <FD_SOCK/>
  |                 <VERIFY_SUSPECT timeout="1500"
  |                     up_thread="false" down_thread="false"/>
  |                 <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
  |                     max_xmit_size="8192" up_thread="false" down_thread="false"/>
  |                 <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10"
  |                     down_thread="false"/>
  |                 <pbcast.STABLE desired_avg_gossip="20000"
  |                     up_thread="false" down_thread="false"/>
  |                 <FRAG frag_size="8192"
  |                     down_thread="false" up_thread="false"/>
  |                 <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
  |                     shun="true" print_local_addr="true"/>
  |             </config>
  |         FetchInMemoryState=false
  |         InitialStateRetrievalTimeout=15000
  |         SyncReplTimeout=15000
  |         LockAcquisitionTimeout=15000
  |         EvictionPolicyClass=
  |         UseRegionBasedMarshalling=true
Each entry in the cache is a separate node. Part of the state of the TreeCache entries are kept in sync by using a javax.jms.Topic from which all nodes read. The other part of the node state should be synchronized through JBossCache in a sync manner. 

 Whenever new entries are read ( and nodes in cache modified) from the javax.jms.Topic I don't want want them to be sync through automated STATE_TRANSFER that is why I disabled this service.

The initial state of the topic is read from the DB - not by using a CacheLoader.

I have the following situation when a NEW entry is added to the cache. The scenario is with 2 nodes in a cluster (N1 and N2) when adding a value V under a key K. One cache entry is one node in the TreeCache.

in N1 :

read (K) not found ( OK ) fetched from DB and
send EVICT message to N2 for (K,V)

in N2 :

 read (K) , not found ( OK ) fetched from DB and
 PUT (K,K,V)
 send EVICT message to N1 for (K,V)

....... and keeps going on like this not (K,K,V) never ending in both nodes at the same time.


  How ca I suppress the evict message to the nodes if the entry is newly added and not modifies an existing one ?


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4020074#4020074

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4020074

More information about the jboss-user mailing list