Problem in session replication
bromon Jul 6, 2005 6:20 AMI build a cluster with 2 jboss4.0.2,the apache mod_jk is front of them.Load balancer is running well.But http sessions can't replication between the cluster node.jboss is startup as "-c all".Any one kind can help me?
this is my web.xml:
<web-app> <display-name>WebModule</display-name> <distributable/> </web-app>
and this is my jboss-web.xml:
<jboss-web> <replication-config> <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger> <replication-granularity>SESSION</replication-granularity> </replication-config> </jboss-web>
and i config the tc5-cluster-service.xml of "all" like this:
<attribute name="CacheMode">REPL_SYNC</attribute>
and the jboss-service.xml:
<attribute name="SnapshotMode">instant</attribute> <attribute name="UseJK">false</attribute>
sessions can't replication. Sometimes,there are some Exceptions like this:
18:16:57,031 WARN [ReplicationInterceptor] runPreparePhase() failed. Transactio n is marked as rolled back org.jboss.cache.lock.TimeoutException: rsp=sender=172.16.32.88:4879, retval=null , received=false, suspected=false at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:2186) at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:2208) at org.jboss.cache.interceptors.ReplicationInterceptor.runPreparePhase(R eplicationInterceptor.java:485) at org.jboss.cache.interceptors.ReplicationInterceptor$SynchronizationHa ndler.beforeCompletion(ReplicationInterceptor.java:389) at org.jboss.cache.interceptors.OrderedSynchronizationHandler.beforeComp letion(OrderedSynchronizationHandler.java:77) at org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionImpl.java: 1384) at org.jboss.tm.TransactionImpl.beforePrepare(TransactionImpl.java:1076) at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:296) at org.jboss.tm.TxManager.commit(TxManager.java:200) at org.jboss.web.tomcat.tc5.session.JBossCacheManager.endTransaction(JBo ssCacheManager.java:505) at org.jboss.web.tomcat.tc5.session.JBossCacheManager.processSessionRepl (JBossCacheManager.java:496) at org.jboss.web.tomcat.tc5.session.JBossCacheManager.storeSession(JBoss CacheManager.java:256) at org.jboss.web.tomcat.tc5.session.InstantSnapshotManager.snapshot(Inst antSnapshotManager.java:38) at org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(Cluster edSessionValve.java:91) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv e.java:59) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j ava:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j ava:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal ve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav a:148) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja va:678) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP ool.java:684) at java.lang.Thread.run(Thread.java:534) 18:16:57,031 ERROR [IdentityLock] write lock for /JSESSION/SobeyPackageWebModule /FKZk1VD+XPaV2ZlC2buREw** could not be acquired after 15000 ms. Locks: Read lock owners: [] Write lock owner: <my-tomato:3945>:19 (caller=<172.16.32.88:4879>:258, lock info: write owner=<my-tomato:3945>:19 (ac tiveReaders=0, activeWriter=Thread[TP-Processor2,5,jboss], waitingReaders=0, wai tingWriters=0, waitingUpgrader=0)) 18:16:57,093 ERROR [ReplicationInterceptor] method invocation failed org.jboss.cache.lock.TimeoutException: write lock for /JSESSION/SobeyPackageWebM odule/FKZk1VD+XPaV2ZlC2buREw** could not be acquired after 15000 ms. Locks: Read lock owners: [] Write lock owner: <my-tomato:3945>:19 (caller=<172.16.32.88:4879>:258, lock info: write owner=<my-tomato:3945>:19 (ac tiveReaders=0, activeWriter=Thread[TP-Processor2,5,jboss], waitingReaders=0, wai tingWriters=0, waitingUpgrader=0)) at org.jboss.cache.lock.IdentityLock.acquireWriteLock(IdentityLock.java: 173) at org.jboss.cache.Node.acquireWriteLock(Node.java:485) at org.jboss.cache.Node.acquire(Node.java:442) at org.jboss.cache.interceptors.LockInterceptor.lock(LockInterceptor.jav a:246) at org.jboss.cache.interceptors.LockInterceptor.invoke(LockInterceptor.j ava:162) at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:46) at org.jboss.cache.interceptors.UnlockInterceptor.invoke(UnlockIntercept or.java:41) at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:46) at org.jboss.cache.interceptors.ReplicationInterceptor.handlePrepare(Rep licationInterceptor.java:306) at org.jboss.cache.interceptors.ReplicationInterceptor.replicate(Replica tionInterceptor.java:186) at org.jboss.cache.TreeCache._replicate(TreeCache.java:2699) at sun.reflect.GeneratedMethodAccessor94.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jgroups.blocks.MethodCall.invoke(MethodCall.java:236) at org.jgroups.blocks.RpcDispatcher.handle(RpcDispatcher.java:220) at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator. java:615) at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator .java:512) at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:3 26) at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUp(Message Dispatcher.java:722) at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.access$300(Messa geDispatcher.java:554) at org.jgroups.blocks.MessageDispatcher$1.run(MessageDispatcher.java:691 ) at java.lang.Thread.run(Thread.java:534) 18:16:57,171 ERROR [RpcDispatcher] failed invoking method org.jboss.cache.lock.TimeoutException: write lock for /JSESSION/SobeyPackageWebM odule/FKZk1VD+XPaV2ZlC2buREw** could not be acquired after 15000 ms. Locks: Read lock owners: [] Write lock owner: <my-tomato:3945>:19 (caller=<172.16.32.88:4879>:258, lock info: write owner=<my-tomato:3945>:19 (ac tiveReaders=0, activeWriter=Thread[TP-Processor2,5,jboss], waitingReaders=0, wai tingWriters=0, waitingUpgrader=0)) at org.jboss.cache.lock.IdentityLock.acquireWriteLock(IdentityLock.java: 173) at org.jboss.cache.Node.acquireWriteLock(Node.java:485) at org.jboss.cache.Node.acquire(Node.java:442) at org.jboss.cache.interceptors.LockInterceptor.lock(LockInterceptor.jav a:246) at org.jboss.cache.interceptors.LockInterceptor.invoke(LockInterceptor.j ava:162) at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:46) at org.jboss.cache.interceptors.UnlockInterceptor.invoke(UnlockIntercept or.java:41) at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:46) at org.jboss.cache.interceptors.ReplicationInterceptor.handlePrepare(Rep licationInterceptor.java:306) at org.jboss.cache.interceptors.ReplicationInterceptor.replicate(Replica tionInterceptor.java:186) at org.jboss.cache.TreeCache._replicate(TreeCache.java:2699) at sun.reflect.GeneratedMethodAccessor94.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jgroups.blocks.MethodCall.invoke(MethodCall.java:236) at org.jgroups.blocks.RpcDispatcher.handle(RpcDispatcher.java:220) at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator. java:615) at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator .java:512) at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:3 26) at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUp(Message Dispatcher.java:722) at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.access$300(Messa geDispatcher.java:554) at org.jgroups.blocks.MessageDispatcher$1.run(MessageDispatcher.java:691 ) at java.lang.Thread.run(Thread.java:534) Caused by: org.jboss.cache.lock.TimeoutException: read lock for /JSESSION/SobeyP ackageWebModule/FKZk1VD+XPaV2ZlC2buREw** could not be acquired by Thread[TP-Proc essor2,5,jboss] after 15000 ms. Locks: Read lock owners: [] Write lock owner: <my-tomato:3945>:19 , lock info: write owner=<my-tomato:3945>:19 (activeReaders=0, activeWriter=Thre ad[TP-Processor2,5,jboss], waitingReaders=0, waitingWriters=0, waitingUpgrader=0 ) at org.jboss.cache.lock.IdentityLock.acquireReadLock(IdentityLock.java:2 12) at org.jboss.cache.Node.acquireReadLock(Node.java:468) at org.jboss.cache.Node.acquire(Node.java:440) at org.jboss.cache.interceptors.LockInterceptor.lock(LockInterceptor.jav a:249) at org.jboss.cache.interceptors.LockInterceptor.invoke(LockInterceptor.j ava:168) at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:46) at org.jboss.cache.interceptors.UnlockInterceptor.invoke(UnlockIntercept or.java:41) at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:46) at org.jboss.cache.interceptors.ReplicationInterceptor.invoke(Replicatio nInterceptor.java:57) at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:3102) at org.jboss.cache.TreeCache.get(TreeCache.java:1554) at org.jboss.cache.TreeCache.get(TreeCache.java:1538) at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch er.java:141) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) at org.jboss.mx.server.Invocation.invoke(Invocation.java:72) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker. java:249) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy52.get(Unknown Source) at org.jboss.web.tomcat.tc5.session.JBossCacheService._get(JBossCacheSer vice.java:328) ... 33 more 18:18:05,078 ERROR [IdentityLock] read lock for /JSESSION/SobeyPackageWebModule/ FKZk1VD+XPaV2ZlC2buREw** could not be acquired by Thread[TP-Processor2,5,jboss] after 15000 ms. Locks: Read lock owners: [] Write lock owner: <my-tomato:3945>:19 , lock info: write owner=<my-tomato:3945>:19 (activeReaders=0, activeWriter=Thre ad[TP-Processor2,5,jboss], waitingReaders=0, waitingWriters=0, waitingUpgrader=0 ) 18:18:05,078 INFO [STDOUT] org.jboss.cache.lock.TimeoutException: read lock for /JSESSION/SobeyPackageWebModule/FKZk1VD+XPaV2ZlC2buREw** could not be acquired by Thread[TP-Processor2,5,jboss] after 15000 ms. Locks: Read lock owners: [] Write lock owner: <my-tomato:3945>:19 , lock info: write owner=<my-tomato:3945>:19 (activeReaders=0, activeWriter=Thre ad[TP-Processor2,5,jboss], waitingReaders=0, waitingWriters=0, waitingUpgrader=0 ) 18:18:05,078 INFO [STDOUT] at org.jboss.cache.lock.IdentityLock.acquireRead Lock(IdentityLock.java:212) 18:18:05,078 INFO [STDOUT] at org.jboss.cache.Node.acquireReadLock(Node.jav a:468) 18:18:05,078 INFO [STDOUT] at org.jboss.cache.Node.acquire(Node.java:440) 18:18:05,078 INFO [STDOUT] at org.jboss.cache.interceptors.LockInterceptor. lock(LockInterceptor.java:249) 18:18:05,078 INFO [STDOUT] at org.jboss.cache.interceptors.LockInterceptor. invoke(LockInterceptor.java:168) 18:18:05,093 INFO [STDOUT] at org.jboss.cache.interceptors.Interceptor.invo ke(Interceptor.java:46) 18:18:05,093 INFO [STDOUT] at org.jboss.cache.interceptors.UnlockIntercepto r.invoke(UnlockInterceptor.java:41) 18:18:05,093 INFO [STDOUT] at org.jboss.cache.interceptors.Interceptor.invo ke(Interceptor.java:46) 18:18:05,093 INFO [STDOUT] at org.jboss.cache.interceptors.ReplicationInter ceptor.invoke(ReplicationInterceptor.java:57) 18:18:05,109 INFO [STDOUT] at org.jboss.cache.TreeCache.invokeMethod(TreeCa che.java:3102) 18:18:05,109 INFO [STDOUT] at org.jboss.cache.TreeCache.get(TreeCache.java: 1554) 18:18:05,109 INFO [STDOUT] at org.jboss.cache.TreeCache.get(TreeCache.java: 1538) 18:18:05,109 INFO [STDOUT] at sun.reflect.GeneratedMethodAccessor89.invoke( Unknown Source) 18:18:05,109 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invo ke(DelegatingMethodAccessorImpl.java:25) 18:18:05,109 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:3 24) 18:18:05,125 INFO [STDOUT] at org.jboss.mx.interceptor.ReflectedDispatcher. invoke(ReflectedDispatcher.java:141) 18:18:05,125 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invoc ation.java:80) 18:18:05,125 INFO [STDOUT] at org.jboss.mx.server.Invocation.invoke(Invocat ion.java:72) 18:18:05,125 INFO [STDOUT] at org.jboss.mx.server.AbstractMBeanInvoker.invo ke(AbstractMBeanInvoker.java:249) 18:18:05,125 INFO [STDOUT] at org.jboss.mx.server.MBeanServerImpl.invoke(MB eanServerImpl.java:644) 18:18:05,140 INFO [STDOUT] at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanP roxyExt.java:177) 18:18:05,140 INFO [STDOUT] at $Proxy52.get(Unknown Source) 18:18:05,140 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.JBossCacheSe rvice._get(JBossCacheService.java:328) 18:18:05,140 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.JBossCacheSe rvice.nodeDirty(JBossCacheService.java:601) 18:18:05,140 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.JBossCacheSe rvice.nodeModified(JBossCacheService.java:595) 18:18:05,156 INFO [STDOUT] at org.jboss.cache.TreeCache.notifyNodeModified( TreeCache.java:3173) 18:18:05,156 INFO [STDOUT] at org.jboss.cache.TreeCache._put(TreeCache.java :2401) 18:18:05,156 INFO [STDOUT] at sun.reflect.GeneratedMethodAccessor96.invoke( Unknown Source) 18:18:05,156 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invo ke(DelegatingMethodAccessorImpl.java:25) 18:18:05,156 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:3 24) 18:18:05,171 INFO [STDOUT] at org.jgroups.blocks.MethodCall.invoke(MethodCa ll.java:236) 18:18:05,171 INFO [STDOUT] at org.jboss.cache.interceptors.LockInterceptor. rollback(LockInterceptor.java:360) 18:18:05,171 INFO [STDOUT] at org.jboss.cache.interceptors.LockInterceptor. access$200(LockInterceptor.java:31) 18:18:05,171 INFO [STDOUT] at org.jboss.cache.interceptors.LockInterceptor$ SynchronizationHandler.afterCompletion(LockInterceptor.java:442) 18:18:05,171 INFO [STDOUT] at org.jboss.cache.interceptors.OrderedSynchroni zationHandler.afterCompletion(OrderedSynchronizationHandler.java:85) 18:18:05,187 INFO [STDOUT] at org.jboss.tm.TransactionImpl.doAfterCompletio n(TransactionImpl.java:1419) 18:18:05,187 INFO [STDOUT] at org.jboss.tm.TransactionImpl.completeTransact ion(TransactionImpl.java:1091) 18:18:05,187 INFO [STDOUT] at org.jboss.tm.TransactionImpl.commit(Transacti onImpl.java:341) 18:18:05,187 INFO [STDOUT] at org.jboss.tm.TxManager.commit(TxManager.java: 200) 18:18:05,187 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.JBossCacheMa nager.endTransaction(JBossCacheManager.java:505) 18:18:05,187 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.JBossCacheMa nager.processSessionRepl(JBossCacheManager.java:496) 18:18:05,203 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.JBossCacheMa nager.storeSession(JBossCacheManager.java:256) 18:18:05,203 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.InstantSnaps hotManager.snapshot(InstantSnapshotManager.java:38) 18:18:05,203 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.ClusteredSes sionValve.invoke(ClusteredSessionValve.java:91) 18:18:05,203 INFO [STDOUT] at org.jboss.web.tomcat.security.JaccContextValv e.invoke(JaccContextValve.java:59) 18:18:05,203 INFO [STDOUT] at org.apache.catalina.core.StandardHostValve.in voke(StandardHostValve.java:126) 18:18:05,218 INFO [STDOUT] at org.apache.catalina.valves.ErrorReportValve.i nvoke(ErrorReportValve.java:105) 18:18:05,218 INFO [STDOUT] at org.apache.catalina.core.StandardEngineValve. invoke(StandardEngineValve.java:107) 18:18:05,218 INFO [STDOUT] at org.apache.catalina.connector.CoyoteAdapter.s ervice(CoyoteAdapter.java:148) 18:18:05,218 INFO [STDOUT] at org.apache.jk.server.JkCoyoteHandler.invoke(J kCoyoteHandler.java:307) 18:18:05,218 INFO [STDOUT] at org.apache.jk.common.HandlerRequest.invoke(Ha ndlerRequest.java:385) 18:18:05,234 INFO [STDOUT] at org.apache.jk.common.ChannelSocket.invoke(Cha nnelSocket.java:748) 18:18:05,234 INFO [STDOUT] at org.apache.jk.common.ChannelSocket.processCon nection(ChannelSocket.java:678) 18:18:05,234 INFO [STDOUT] at org.apache.jk.common.SocketConnection.runIt(C hannelSocket.java:871) 18:18:05,234 INFO [STDOUT] at org.apache.tomcat.util.threads.ThreadPool$Con trolRunnable.run(ThreadPool.java:684) 18:18:05,234 INFO [STDOUT] at java.lang.Thread.run(Thread.java:534)
Anyone kind can give me some help?