Hi all,

I use TreeCache (JbossCache 1.4.1 SP3 with Jboss 4.0.5GA) with a cache 
configured in a clustered environnement.
I set in PESSIMISTIC/SERIALIZABLE mode and I want to lock only one node when I 
read or write to it.
For example, if I have /root/subroot/A and /root/subroot/B, I read node A, I 
want to have an exclusive lock on it , but I want also to read with another 
transaction node B.

But at this moment, the cache is entirely locked! I cannot read node B at all.

<?xml version="1.0" encoding="UTF-8" ?>
  | <server>
  |   <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar" />
  |   <mbean code="org.jboss.cache.TreeCache" 
name="jboss.cache:service=MyTreeCache">
  |     <depends>jboss:service=Naming</depends>
  |     <depends>jboss:service=TransactionManager</depends>
  |     <depends>jboss.jca:service=DataSourceBinding,name=my-ds</depends>
  | 
  |     <attribute 
name="TransactionManagerLookupClass">org.jboss.cache.JBossTransactionManagerLookup</attribute>
  |     <attribute name="NodeLockingScheme">PESSIMISTIC</attribute>             
  |     <attribute name="IsolationLevel">READ_UNCOMMITTED</attribute>
  | 
  |     <attribute name="CacheMode">REPL_SYNC</attribute>
  |     <attribute name="ClusterName">
  |     master-${jboss.partition.name:Cluster}
  |     </attribute>
  |     <attribute name="ClusterConfig">
  |             <config>
  |                     <UDP mcast_addr="${jboss.partition.udpGroup:228.2.2.14}"
  |                             mcast_port="48252" 
ip_ttl="${jgroups.mcast.ip_ttl:2}"
  |                             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 shun="true" up_thread="true" down_thread="true" />
  |                     <VERIFY_SUSPECT timeout="1500" up_thread="false"
  |                             down_thread="false" />
  |                     <pbcast.NAKACK gc_lag="50" max_xmit_size="8192"
  |                             retransmit_timeout="600,1200,2400,4800" 
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" />
  |                     <pbcast.STATE_TRANSFER up_thread="false"
  |                             down_thread="false" />
  |             </config>
  |     </attribute>
  |     <attribute name="InitialStateRetrievalTimeout">6000</attribute>
  |     <attribute name="SyncReplTimeout">10000</attribute>
  |     <attribute name="LockAcquisitionTimeout">4000</attribute>
  |     
  | </mbean>
  | </server> 

How can achieve my use case ?

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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4157734
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to