Synchronous replication result with suspect member
afelle1 Oct 1, 2008 4:08 PMQUESTION: Whenever putting an attribute / node into the cache and a replication exception occurs due to time out or a remote machine being suspect, is the attribute / node put into the cache on the other machines that did respond?
We have our cache configured for synchronous replication with a cluster of 5 initial members. Occasionally, we receive a stack trace in the error log for replication errors involving one of the members being timed out or suspected, however I am unsure as to the state of the cache. These occur whenever we are putting a new attribute within the cache, so I want to know whether the attribute was put into the cache on all machines except for the suspected / timed out machine or if wasn't put into the cache on any of the machines.
JGroups configuration (sans TCP and TCPPING)
<MERGE2 min_interval="5000" max_interval="10000" /> <FD_SOCK /> <FD shun="true" timeout="2500" max_tries="5" /> <VERIFY_SUSPECT timeout="1500" /> <UNICAST retransmit_timeout="300,600,1200,2400,4800,9600" /> <pbcast.STABLE desired_avg_gossip="20000" stability_delay="1500" /> <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="true" /> <pbcast.STATE_TRANSFER />
Stack Trace
2008-09-29 00:02:21,740 ERROR [org.jasig.cas.ticket.registry.JBossCacheTicketRegistry] - org.jboss.cache.ReplicationException: rsp=sender=XXX.XXX.XXX.XXX:XXXX, retval=null, received=false, suspected=false
org.jboss.cache.ReplicationException: rsp=sender=XXX.XXX.XXX.XXX:XXXX, retval=null, received=false, suspected=false
at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:4338)
at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:4260)
at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:4372)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:110)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:88)
at org.jboss.cache.interceptors.ReplicationInterceptor.handleReplicatedMethod(ReplicationInterceptor.java:124)
at org.jboss.cache.interceptors.ReplicationInterceptor.invoke(ReplicationInterceptor.java:88)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:364)
at org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:160)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
at org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:157)
at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5710)
at org.jboss.cache.TreeCache.put(TreeCache.java:3782)
at org.jboss.cache.TreeCache.put(TreeCache.java:3720)
Thank you for any assistance!
Andrew