Hello everybody, we are running a couple of clustered Tomcat 5.5.9 instances and keep experiencing problems in our productive environment. This is the configuration:
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster" managerClassName="org.apache.catalina.cluster.session.DeltaManager" expireSessionsOnShutdown="false" useDirtyFlag="true" notifyListenersOnReplication="true"> <Membership className="org.apache.catalina.cluster.mcast.McastService" mcastAddr="239.255.0.1" mcastPort="45789" mcastFrequency="500" mcastDropTime="3000"/> <Receiver className="org.apache.catalina.cluster.tcp.ReplicationListener" tcpListenAddress="10.0.0.30" tcpListenPort="4439" tcpSelectorTimeout="100" tcpThreadCount="2"/> <Sender className="org.apache.catalina.cluster.tcp.ReplicationTransmitter" replicationMode="pooled" ackTimeout="15000"/> <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/> <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer" tempDir="/tmp/war-temp38/" deployDir="/opt/jakarta/dep38/war-deploy/" watchDir="/opt/jakarta/dep38/war-listen/" watchEnabled="false"/> </Cluster> This is the log of node2: Jun 22, 2009 10:06:16 AM org.apache.catalina.cluster.tcp.DataSender waitForAck WARNING: Wasnt able to read acknowledgement from server[{0}:{1,number,integer}] in {2,number,integer} ms. Disconnecting socket, and trying again. Jun 22, 2009 10:06:16 AM org.apache.catalina.cluster.tcp.DataSender waitForAck WARNING: Wasnt able to read acknowledgement from server[{0}:{1,number,integer}] in {2,number,integer} ms. Disconnecting socket, and trying again. Jun 22, 2009 10:06:31 AM org.apache.catalina.cluster.tcp.DataSender waitForAck WARNING: Wasnt able to read acknowledgement from server[{0}:{1,number,integer}] in {2,number,integer} ms. Disconnecting socket, and trying again. Jun 22, 2009 10:06:31 AM org.apache.catalina.cluster.tcp.ReplicationTransmitter sendMessageData WARNING: Unable to send replicated message, is server down? java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.net.SocketInputStream.read(SocketInputStream.java:182) at org.apache.catalina.cluster.tcp.DataSender.waitForAck(DataSender.java:530) at org.apache.catalina.cluster.tcp.DataSender.pushMessage(DataSender.java:508) at org.apache.catalina.cluster.tcp.DataSender.sendMessage(DataSender.java:378) at org.apache.catalina.cluster.tcp.PooledSocketSender.sendMessage(PooledSocketSender.java:118) at org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessageData(ReplicationTransmitter.java:646) at org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessage(ReplicationTransmitter.java:348) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.java:466) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.java:495) at org.apache.catalina.cluster.session.DeltaManager.sessionExpired(DeltaManager.java:811) at org.apache.catalina.cluster.session.DeltaSession.expire(DeltaSession.java:730) at org.apache.catalina.cluster.session.DeltaSession.expire(DeltaSession.java:653) at org.apache.catalina.cluster.session.DeltaSession.expire(DeltaSession.java:641) at org.apache.catalina.cluster.session.DeltaSession.invalidate(DeltaSession.java:1042) at org.apache.catalina.cluster.session.DeltaSessionFacade.invalidate(DeltaSessionFacade.java:150) at webapp.control.FrontServlet.doProcessRequest(Unknown Source) at webapp.control.FrontServlet.doGet(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at filters.TimeoutFilter.doFilter(TimeoutFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve.java:145) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: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.java:678) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Jun 22, 2009 10:06:31 AM org.apache.catalina.cluster.tcp.DataSender waitForAck WARNING: Wasnt able to read acknowledgement from server[{0}:{1,number,integer}] in {2,number,integer} ms. Disconnecting socket, and trying again. Jun 22, 2009 10:06:46 AM org.apache.catalina.cluster.tcp.DataSender waitForAck WARNING: Wasnt able to read acknowledgement from server[{0}:{1,number,integer}] in {2,number,integer} ms. Disconnecting socket, and trying again. Jun 22, 2009 10:06:56 AM org.apache.catalina.cluster.tcp.DataSender <init> INFO: Create sender [cwww1/10.0.0.30:4,437] Jun 22, 2009 10:07:01 AM org.apache.catalina.cluster.tcp.DataSender waitForAck WARNING: Wasnt able to read acknowledgement from server[{0}:{1,number,integer}] in {2,number,integer} ms. Disconnecting socket, and trying again. Jun 22, 2009 10:07:02 AM org.apache.catalina.cluster.tcp.DataSender waitForAck WARNING: Wasnt able to read acknowledgement from server[{0}:{1,number,integer}] in {2,number,integer} ms. Disconnecting socket, and trying again. The node1 logs do not show anything during that time. I have read that for a productive environment to increase mcastFrequency="500", mcastDropTime="3000" and to install the cluster fix. But my guess is that the problem with receiving the acknowledgement is more or a session replication problem and not a problem receiving the tomcat heartbeats. Thanks for your help Regards KE Geschäftsführung: Dr. Michael Fischer, Reinhard Eisebitt Amtsgericht Köln HRB 32356 Steuer-Nr.: 217/5717/0536 Ust.Id.-Nr.: DE 204051920 -- This email transmission and any documents, files or previous email messages attached to it may contain information that is confidential or legally privileged. If you are not the intended recipient or a person responsible for delivering this transmission to the intended recipient, you are hereby notified that any disclosure, copying, printing, distribution or use of this transmission is strictly prohibited. If you have received this transmission in error, please immediately notify the sender by telephone or return email and delete the original transmission and its attachments without reading or saving in any manner. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org