You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Andy Natt <An...@digitalrum.com> on 2004/09/09 11:00:15 UTC

Clustering problems during session replication at startup

I am having some problems with clustering (version 5.0.27) and session
replication at startup across multiple servers.  I can replicate in normal
conditions, but introducting servers to the cluster after a period of time
causes "Unable to send replicated message".  This error only seems to occur
when you have more than 50 sessions stored (session size = 50k).  I've read
some documents regarding the NTPL thread library which i have tried to no
avail, has anyone else had a similar problem, or have any advise on the
issue ?

Here is a list of some important settings, i've tried to keep most of them
default.

Redhat ES3 using JDK 1.4.2_05 with LD_ASSUME_KERNEL=2.4.0

<Cluster	className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
		expireSessionsOnShutdown="false"
		useDirtyFlag="true"
		printSessionInfo="true"
		tcpKeepAliveTime="0">
		synchronousReplication="true">
<Membership	mcastFrequency="500"
		mcastDropTime="10000"/>
<Receiver	tcpSelectorTimeout="100"
		tcpThreadCount="2"/>


Errors (ip addresses masked)

Aug 24, 2004 11:25:00 AM org.apache.catalina.cluster.session.DeltaManager
start
INFO: Starting clustering manager...:/webapp
Aug 24, 2004 11:25:15 AM org.apache.catalina.cluster.tcp.SocketSender
waitForAck
WARNING: Wasn't able to read acknowledgement from server[/*.*.*.*:4001] in
15000 ms. Disconnecting socket, and trying again.
Aug 24, 2004 11:25:30 AM org.apache.catalina.cluster.tcp.SocketSender
waitForAck
WARNING: Wasn't able to read acknowledgement from server[/*.*.*.*:4001] in
15000 ms. Disconnecting socket, and trying again.
Aug 24, 2004 11:25:30 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.SocketSender.waitForAck(SocketSender.java:13
4)
        at
org.apache.catalina.cluster.tcp.SocketSender.sendMessage(SocketSender.java:1
25)
        at
org.apache.catalina.cluster.tcp.PooledSocketSender.sendMessage(PooledSocketS
ender.java:119)
        at
org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessageData(Repli
cationTransmitter.java:117)
        at
org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessage(Replicati
onTransmitter.java:136)
        at
org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.java:
457)
        at
org.apache.catalina.cluster.session.DeltaManager.start(DeltaManager.java:648
)
        at
org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:499)
        at
org.apache.catalina.startup.ContextConfig.managerConfig(ContextConfig.java:3
08)
        at
org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:635)
        at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:
216)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
t.java:119)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4290)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:8
23)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
        at
org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.
java:903)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:252)
        at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
        at org.apache.commons.digester.Rule.end(Rule.java:276)
        at
org.apache.commons.digester.Digester.endElement(Digester.java:1058)
        at
org.apache.catalina.util.CatalinaDigester.endElement(CatalinaDigester.java:7
6)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source)
        at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
Source)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown
Source)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno
wn Source)
        at
org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElem
entHook(Unknown Source)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(Unknown Source)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.commons.digester.Digester.parse(Digester.java:1567)
        at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.j
ava:488)
        at
org.apache.catalina.core.StandardHost.install(StandardHost.java:863)
        at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:482
)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
t.java:119)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:480)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)
Aug 24, 2004 11:25:30 AM org.apache.catalina.cluster.session.DeltaManager
start
WARNING: Manager[/webapp], requesting session state from
org.apache.catalina.cluster.mcast.McastMember[tcp://*.*.*.*:4001,*.*.*.*,400
1, alive=3211070]. This operation will timeout if no session state has been
received within 60 seconds

--------------------------------------
Andy Natt.
DigitalRum Ltd