RE: Tomcat 5.5.7 - error trying to replicate session on Linux

2005-02-22 Thread Richard Mixon (qwest)
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]

2005-02-22 Thread Richard Mixon (qwest)
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

2005-02-21 Thread Richard Mixon (qwest)
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)