The problem reported below was due to a misconfiguration. In the past I disabled the session persistence uncommenting the manager row in context.xml : <Manager pathname="" />
After session persistance's activation (commenting the row above) session replication works as expected. Giancarlo Frison Filip Hanik - Dev Lists ha scritto: > you can turn debug on and see the messages being sent back and forth. > a previous user reported that sessions got expired during a normal > shutdown, I yet have to investigate this > > Filip > > Giancarlo Frison wrote: >> Hi all, >> >> I have a cluster configured with 2 tomcat instaces in the same host and >> apache + mod_jk as load balancer with stiky session. >> The instances' server.xml (show below) diff only for >> /Cluster/Channel/Receiver[port] attribute, the first one set to 4000 and >> the second one set to 4001. >> The 2 instances seem aware each other at the startup as report by the >> log of clone1 (listening on port 4000): >> >> Nov 29, 2007 10:57:43 AM org.apache.coyote.ajp.AjpAprProtocol start >> INFO: Starting Coyote AJP/1.3 on ajp-8009 >> Nov 29, 2007 10:57:43 AM org.apache.catalina.startup.Catalina start >> INFO: Server startup in 4364 ms >> Nov 29, 2007 10:58:03 AM org.apache.catalina.tribes.io.BufferPool >> getBufferPool >> INFO: Created a buffer pool with max size:104857600 bytes of >> type:org.apache.catalina.tribes.io.BufferPool15Impl >> Nov 29, 2007 10:58:04 AM org.apache.catalina.ha.tcp.SimpleTcpCluster >> memberAdded >> INFO: Replication member >> added:org.apache.catalina.tribes.membership.MemberImpl[tcp://localhost.localdomain:4001,localhost.localdomain,4001, >> >> alive=1009,id={31 -16 121 -113 112 30 72 -34 -128 51 27 -12 115 7 -107 >> -22 }, payload={}, command={}, domain={}, ] >> >> >> To test the session replication I've created a session on clone2 >> afterwards I shutted down such instance, as reported by clone1 >> catalina.out: >> >> Nov 29, 2007 11:00:47 AM >> org.apache.catalina.tribes.group.interceptors.TcpFailureDetector >> memberDisappeared >> INFO: Verification complete. Member >> disappeared[org.apache.catalina.tribes.membership.MemberImpl[tcp://localhost.localdomain:4001,localhost.localdomain,4001, >> >> alive=164497,id={31 -16 121 -113 112 30 72 -34 -128 51 27 -12 115 7 -107 >> -22 }, payload={}, command={66 65 66 89 45 65 76 69 88 ...(9)}, >> domain={}, ]] >> Nov 29, 2007 11:00:47 AM org.apache.catalina.ha.tcp.SimpleTcpCluster >> memberDisappeared >> INFO: Received member >> disappeared:org.apache.catalina.tribes.membership.MemberImpl[tcp://localhost.localdomain:4001,localhost.localdomain,4001, >> >> alive=164497,id={31 -16 121 -113 112 30 72 -34 -128 51 27 -12 115 7 -107 >> -22 }, payload={}, command={66 65 66 89 45 65 76 69 88 ...(9)}, >> domain={}, ] >> >> With clone2 failover the mod_jk dispatch the request to the clone1. I've >> expected to find in the clone1 the session, instead request.getSession() >> == false. >> >> The cluster configuration follow stiky session rule, the load balancer >> works fine, everything ok except for session replication. >> Any clue on these cases? >> >> Thanks a lot! >> >> -- worker.properties: >> >> worker.list=lbworker >> worker.lbworker.type=lb >> worker.lbworker.balance_workers=c1,c2 >> worker.c1.type=ajp13 >> worker.c1.host=localhost >> worker.c1.port=8009 >> worker.c2.type=ajp13 >> worker.c2.host=localhost >> worker.c2.port=8010 >> >> -- server.xml >> >> <Cluster channelSendOptions="8" >> className="org.apache.catalina.ha.tcp.SimpleTcpCluster"> >> <Manager >> className="org.apache.catalina.ha.session.DeltaManager" >> expireSessionsOnShutdown="false" >> notifyListenersOnReplication="true" /> >> <Channel >> className="org.apache.catalina.tribes.group.GroupChannel"> >> <Membership >> className="org.apache.catalina.tribes.membership.McastService" >> address="228.0.0.4" port="45564" frequency="500" >> dropTime="3000"/> >> <Receiver address="localhost" autoBind="100" >> className="org.apache.catalina.tribes.transport.nio.NioReceiver" >> maxThreads="6" port="4000" selectorTimeout="5000" /> >> <Sender >> className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> >> <Transport >> className="org.apache.catalina.tribes.transport.nio.PooledParallelSender" >> /> >> </Sender> >> <Interceptor >> className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector" >> >> /> >> <Interceptor >> className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor" >> >> /> >> <Interceptor >> className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/> >> >> </Channel> >> <Valve >> className="org.apache.catalina.ha.tcp.ReplicationValve" filter="" /> >> <Valve >> className="org.apache.catalina.ha.session.JvmRouteBinderValve" /> >> <ClusterListener >> className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener" >> >> /> >> <ClusterListener >> className="org.apache.catalina.ha.session.ClusterSessionListener" /> >> </Cluster> >> >> >> >> Giancarlo Frison >> >> >> >> --------------------------------------------------------------------- >> To start a new topic, e-mail: users@tomcat.apache.org >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> > > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > <http://www.pushcall.com/client/?key=giancarlo> --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]