I have seen the same behavior, but only under considerable load.  Changing
the replication strategy to 

          <Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
            replicationMode="fastasyncqueue"
            keepAliveTimeout="-1"/>

makes it go away.  I can confirm that application does not seem to suffer
from the 'exception' below, although it is disconcerting to some
management-types to see these exceptions in the logs.

Tim

-----Original Message-----
From: Filip Hanik - Dev Lists [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, April 04, 2006 9:25 AM
To: Tomcat Users List
Subject: Re: cluster prblem

Hi Amila, what you see below is not an actual error, although it seems to
be.
What happens is that you have keepalive set to the default value, so the
sending node will close it socket, and the receiving node will get an error
like this.
In future versions this has been reduced to info or warning, so you can
safely ignore this.

Filip

Amila Suriarachchi wrote:
> hi,
> I created a tomcat cluster (using tomcat 5.5.15 and jdk 1.5.0_06 in 
> linux) with two nodes, by uncommenting the existing cluster element in 
> server.xml and changing the tcplisten ports.
>
> And I created a web application to test the cluster (put and entry 
> <distributable/> in web.xml).
> Then I deployed the application in both servers and started the servers.
>
> When I see the logs there are no errros and every things seems to be ok.
>
> Then I access the application of one server, and see the nummber of 
> sessions of that application in both servers using tomcat manager. 
> Here I found that both nodes have sessions and according to my 
> application i think that session is being replicated.
>
> But when i check the catalina.out it has following exception.
> SEVERE: TCP Worker thread in cluster caught 'java.io.IOException: 
> Connection reset by peer' closing channel
> java.io.IOException: Connection reset by peer
>         at sun.nio.ch.FileDispatcher.read0(Native Method)
>         at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)
>         at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233)
>         at sun.nio.ch.IOUtil.read(IOUtil.java:206)
>         at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:207)
>         at 
> org.apache.catalina.cluster.tcp.TcpReplicationThread.drainChannel
> (TcpReplicationThread.java:125)
>         at org.apache.catalina.cluster.tcp.TcpReplicationThread.run(
> TcpReplicationThread.java:69)
>
> And also
> In my web application I have a class which implements the 
> HttpSessionActivationListener, HttpSessionBindingListener and 
> Serializable interfaces.
> and I store an instance of this class as an attribute of the httpSession.
> In this case I think the sessionWillPassivate and sessionDidActivate 
> should be called when the session is replicated across different jvms. 
> But it seems this does not happens.
> (i.e. it does not print my log messages)
>
> can someone explain this,
>
> amila.
>
>   


---------------------------------------------------------------------
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]

Reply via email to