We have 2 Tomcat 6 servers in a cluster. Occasionally we get this error, say after every 4 days:
INFO | jvm 1 | main | 2012/01/15 17:43:26.586 | SEVERE: Unable to send message through cluster sender.
INFO | jvm 1 | main | 2012/01/15 17:43:26.586 | org.apache.catalina.tribes.ChannelException: Send failed, and sender is disconnected. Not retrying.; Faulty members:tcp://{192, 168, 100, 127}:4000;
or this:
INFO | jvm 1 | main | 2012/01/15 17:36:44.707 | SEVERE: Unable to send message through cluster sender.
INFO | jvm 1 | main | 2012/01/15 17:36:44.707 | org.apache.catalina.tribes.ChannelException: Operation has timed out(60000 ms.).; Faulty members:tcp://{192, 168, 100, 126}:4000;
This occurs on both nodes. When this occurs, our sites eventually goes down.
The 2 nodes are behind an Apache HTTP web server. It connects with the 2 Tomcat nodes using AJP with Reverse-Proxy.
We've been trying to locate the source of this problem for ages, but we've haven't found anything concrete. The cluster configuration in server.xml of the respective Tomcat nodes is the following:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="6">
<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="30000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="@machine.ip.address@"
port="4000"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender" timeout="60000" keepAliveCount="0"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</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"/>
Could anyone help us out plz?
Thanks!