RE: Tomcat 5.5.7 - error trying to replicate session on Linux
BTW, Each of my two servers has two network cards: a) One facing the internet; b) the second is a private connection between the two servers. The second connection is intended for session replication. Also, I did not specify an mcastBindAddr - though it probably should be specified as the second network card. Thanks - Richard Mixon -Original Message- From: Richard Mixon (qwest) [mailto:[EMAIL PROTECTED] Sent: Monday, February 21, 2005 10:14 PM To: tomcat-user@jakarta.apache.org Subject: Tomcat 5.5.7 - error trying to replicate session on Linux OK, we still have one more issue with our Tomcat cluster as we move to our Linux environment. For some reason, both instances (jvmRoute=srv1 and jvmRoute=srv2) see each other at startup. We see that they each join the cluster just fine. But when the first request comes through we get an exception timeout trying to replicate. Of course it works fine in our Windows development environment, but now we are moving to our testing and production environments - SuSE Linux SLES9. Any ideas and suggestions are much appreciated. The catalina.log messages for both Tomcat instances are below. Thanks - Richard CLUSTER MEMBER 2 (jvmRoute=srv1): INFO: Server startup in 7332 ms Feb 21, 2005 9:02:58 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://140.99.50.58:4 001,140.99.50.58,4001, alive=2] 21:03:36,258 INFO [TP-Processor3] UserCounterListener:137 - Before increment, User Count: 0 21:03:36,262 INFO [TP-Processor3] UserCounterListener:140 - After increment, User Count: 1 21:03:36,263 INFO [TP-Processor3] UserCounterListener:73 - sessionCreated - Session info: id: '6615ABC7BD43B096AB54C031B7BE02C5.srv1'; createdAt '21:03:36'; lastAccessedAt '21:03:36'; currentTime '21:03:36; session count: '1 21:03:36,264 INFO [TP-Processor3] UserCounterListener:76 - sessionCreated - Session info: id: '6615ABC7BD43B096AB54C031B7BE02C5.srv1'; createdAt '21:03:36'; lastAccessedAt '21:03:36'; currentTime '21:03:36; session count: '1 21:05:14,482 INFO [TP-Processor2] UserCounterListener:137 - Before increment, User Count: 1 21:05:14,483 INFO [TP-Processor2] UserCounterListener:140 - After increment, User Count: 2 21:05:14,484 INFO [TP-Processor2] UserCounterListener:73 - sessionCreated - Session info: id: '61B3F35D9B0AAAE46F75AAA19FFC7D1B.srv1'; createdAt '21:05:14'; lastAccessedAt '21:05:14'; currentTime '21:05:14; session count: '2 21:05:14,485 INFO [TP-Processor2] UserCounterListener:76 - sessionCreated - Session info: id: '61B3F35D9B0AAAE46F75AAA19FFC7D1B.srv1'; createdAt '21:05:14'; lastAccessedAt '21:05:14'; currentTime '21:05:14; session count: '2 Feb 21, 2005 9:06:45 PM org.apache.catalina.cluster.tcp.ReplicationTransmitter sendMessageData WARNING: Unable to send replicated message, is server down? java.net.ConnectException: Connection timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:364) at java.net.Socket.connect(Socket.java:507) at java.net.Socket.connect(Socket.java:457) at java.net.Socket.init(Socket.java:365) at java.net.Socket.init(Socket.java:207) at org.apache.catalina.cluster.tcp.SocketSender.connect(SocketSender.java:1 10) at org.apache.catalina.cluster.tcp.SocketSender.sendMessage(SocketSender.ja va:157) at org.apache.catalina.cluster.tcp.PooledSocketSender.sendMessage(PooledSoc ketSender.java:147) at org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessageData(R eplicationTransmitter.java:247) at org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessage(Repli cationTransmitter.java:281) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.j ava:454) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.j ava:467) at org.apache.catalina.cluster.session.DeltaManager.createSession(DeltaMana ger.java:290) at org.apache.catalina.cluster.session.DeltaManager.createSession(DeltaMana ger.java:239) at org.apache.catalina.connector.Request.doGetSession(Request.java:2199) at org.apache.catalina.connector.Request.getSessionInternal(Request.java:21 50) at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAut henticator.java:230) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator Base.java:446) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :126) at org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve .java:130
RE: Tomcat 5.5.7 - error trying to replicate session on Linux [SOLVED]
OK, I just had to re-read the comments in server.xml and think about my setup a bit more. It still seems like it should have worked the other way [shrug]. Basically I had to tell the cluster setup to use only the network adapters that represent the private link between the two servers (ignoring the other NIC that is my outlet to the Internet). Anyway I changed server.xml as follows: 1) Added mcastBindAddr to thee Membership tag. 2) Changed tcpListentAddress from auto to the actual NIC that I wanted it to listen on. Here's the cluster section of my server.xml in case anyone can benefit from it: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.D eltaManager expireSessionsOnShutdown=false useDirtyFlag=true notifyListenersOnReplication=true Membership className=org.apache.catalina.cluster.mcast.McastServic e mcastAddr=228.0.0.4 mcastPort=45564 mcastBindAddr=192.168.11.3 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationLi stener tcpListenAddress=192.168.11.3 tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTr ansmitter replicationMode=pooled ackTimeout=15000/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.ht ml;.*\.css;.*\.txt;/ Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/home/ltojsw/jakarta-tomcat-5.5.7/webap ps watchDir=/home/ltojsw/jakarta-tomcat-5.5.7-deploy er/build/webapp watchEnabled=false/ /Cluster --- Richard Richard Mixon (qwest) wrote: OK, we still have one more issue with our Tomcat cluster as we move to our Linux environment. For some reason, both instances (jvmRoute=srv1 and jvmRoute=srv2) see each other at startup. We see that they each join the cluster just fine. But when the first request comes through we get an exception timeout trying to replicate. Of course it works fine in our Windows development environment, but now we are moving to our testing and production environments - SuSE Linux SLES9. Any ideas and suggestions are much appreciated. The catalina.log messages for both Tomcat instances are below. Thanks - Richard CLUSTER MEMBER 2 (jvmRoute=srv1): INFO: Server startup in 7332 ms Feb 21, 2005 9:02:58 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://140.99.50.58:4 001,140.99.50.58,4001, alive=2] 21:03:36,258 INFO [TP-Processor3] UserCounterListener:137 - Before increment, User Count: 0 21:03:36,262 INFO [TP-Processor3] UserCounterListener:140 - After increment, User Count: 1 21:03:36,263 INFO [TP-Processor3] UserCounterListener:73 - sessionCreated - Session info: id: '6615ABC7BD43B096AB54C031B7BE02C5.srv1'; createdAt '21:03:36'; lastAccessedAt '21:03:36'; currentTime '21:03:36; session count: '1 21:03:36,264 INFO [TP-Processor3] UserCounterListener:76 - sessionCreated - Session info: id: '6615ABC7BD43B096AB54C031B7BE02C5.srv1'; createdAt '21:03:36'; lastAccessedAt '21:03:36'; currentTime '21:03:36; session count: '1 21:05:14,482 INFO [TP-Processor2] UserCounterListener:137 - Before increment, User Count: 1 21:05:14,483 INFO [TP-Processor2] UserCounterListener:140 - After increment, User Count: 2 21:05:14,484 INFO [TP-Processor2] UserCounterListener:73 - sessionCreated - Session info: id: '61B3F35D9B0AAAE46F75AAA19FFC7D1B.srv1'; createdAt '21:05:14'; lastAccessedAt '21:05:14'; currentTime '21:05:14; session count: '2 21:05:14,485 INFO [TP-Processor2] UserCounterListener:76 - sessionCreated - Session info: id: '61B3F35D9B0AAAE46F75AAA19FFC7D1B.srv1'; createdAt '21:05:14'; lastAccessedAt '21:05:14'; currentTime '21:05:14; session count: '2 Feb 21, 2005 9:06:45 PM org.apache.catalina.cluster.tcp.ReplicationTransmitter sendMessageData WARNING: Unable to send replicated message, is server down? java.net.ConnectException: Connection timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:364) at java.net.Socket.connect(Socket.java:507) at
Tomcat 5.5.7 - error trying to replicate session on Linux
OK, we still have one more issue with our Tomcat cluster as we move to our Linux environment. For some reason, both instances (jvmRoute=srv1 and jvmRoute=srv2) see each other at startup. We see that they each join the cluster just fine. But when the first request comes through we get an exception timeout trying to replicate. Of course it works fine in our Windows development environment, but now we are moving to our testing and production environments - SuSE Linux SLES9. Any ideas and suggestions are much appreciated. The catalina.log messages for both Tomcat instances are below. Thanks - Richard CLUSTER MEMBER 2 (jvmRoute=srv1): INFO: Server startup in 7332 ms Feb 21, 2005 9:02:58 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://140.99.50.58:4 001,140.99.50.58,4001, alive=2] 21:03:36,258 INFO [TP-Processor3] UserCounterListener:137 - Before increment, User Count: 0 21:03:36,262 INFO [TP-Processor3] UserCounterListener:140 - After increment, User Count: 1 21:03:36,263 INFO [TP-Processor3] UserCounterListener:73 - sessionCreated - Session info: id: '6615ABC7BD43B096AB54C031B7BE02C5.srv1'; createdAt '21:03:36'; lastAccessedAt '21:03:36'; currentTime '21:03:36; session count: '1 21:03:36,264 INFO [TP-Processor3] UserCounterListener:76 - sessionCreated - Session info: id: '6615ABC7BD43B096AB54C031B7BE02C5.srv1'; createdAt '21:03:36'; lastAccessedAt '21:03:36'; currentTime '21:03:36; session count: '1 21:05:14,482 INFO [TP-Processor2] UserCounterListener:137 - Before increment, User Count: 1 21:05:14,483 INFO [TP-Processor2] UserCounterListener:140 - After increment, User Count: 2 21:05:14,484 INFO [TP-Processor2] UserCounterListener:73 - sessionCreated - Session info: id: '61B3F35D9B0AAAE46F75AAA19FFC7D1B.srv1'; createdAt '21:05:14'; lastAccessedAt '21:05:14'; currentTime '21:05:14; session count: '2 21:05:14,485 INFO [TP-Processor2] UserCounterListener:76 - sessionCreated - Session info: id: '61B3F35D9B0AAAE46F75AAA19FFC7D1B.srv1'; createdAt '21:05:14'; lastAccessedAt '21:05:14'; currentTime '21:05:14; session count: '2 Feb 21, 2005 9:06:45 PM org.apache.catalina.cluster.tcp.ReplicationTransmitter sendMessageData WARNING: Unable to send replicated message, is server down? java.net.ConnectException: Connection timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:364) at java.net.Socket.connect(Socket.java:507) at java.net.Socket.connect(Socket.java:457) at java.net.Socket.init(Socket.java:365) at java.net.Socket.init(Socket.java:207) at org.apache.catalina.cluster.tcp.SocketSender.connect(SocketSender.java:1 10) at org.apache.catalina.cluster.tcp.SocketSender.sendMessage(SocketSender.ja va:157) at org.apache.catalina.cluster.tcp.PooledSocketSender.sendMessage(PooledSoc ketSender.java:147) at org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessageData(R eplicationTransmitter.java:247) at org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessage(Repli cationTransmitter.java:281) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.j ava:454) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.j ava:467) at org.apache.catalina.cluster.session.DeltaManager.createSession(DeltaMana ger.java:290) at org.apache.catalina.cluster.session.DeltaManager.createSession(DeltaMana ger.java:239) at org.apache.catalina.connector.Request.doGetSession(Request.java:2199) at org.apache.catalina.connector.Request.getSessionInternal(Request.java:21 50) at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAut henticator.java:230) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator Base.java:446) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :126) at org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve .java:130) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :105) at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAcc essLogValve.java:481) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1 48) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:306) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:745)