Ehlers, Kolja wrote:
> 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:
The current version is 5.5.27, there have been a lot of bug fixes since
5.5.9. You should definitely upgrade to a more recent version before
proceeding. Be careful to read the complete change log before you do so
as there are several fixes that often catch people out.
p
> <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: [email protected]
> For additional commands, e-mail: [email protected]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]