tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raúl García <rgar...@emovilia.com>
Subject RE: Tomcat 6 - Cluster error.
Date Tue, 22 Jan 2008 11:35:50 GMT
Hi again, 
I'm getting an error when one of the nodes are shutdown and I make a hit to
the server.

Seems like the node 2, is trying to send the session to the other node (But
is offline)

LOG_INSTANCE-2
===============
=== I lauch the shutdown command of node1: ====
21-ene-2008 17:15:10
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector
memberDisappeared
INFO: Verification complete. Member
disappeared[org.apache.catalina.tribes.membership.MemberImpl[tcp://localhost
.localdomain:4001,localhost.localdomain,4001, alive=161284,id={-87 -124 123
-76 30 -1 76 49 -120 -67 -116 87 -2 59 77 29 }, payload={}, command={66 65
66 89 45 65 76 69 88 ...(9)}, domain={}, ]]
21-ene-2008 17:15:10 org.apache.catalina.ha.tcp.SimpleTcpCluster
memberDisappeared
INFO: Received member
disappeared:org.apache.catalina.tribes.membership.MemberImpl[tcp://localhost
.localdomain:4001,localhost.localdomain,4001, alive=161284,id={-87 -124 123
-76 30 -1 76 49 -120 -67 -116 87 -2 59 77 29 }, payload={}, command={66 65
66 89 45 65 76 69 88 ...(9)}, domain={}, ]
21-ene-2008 17:15:33 org.apache.catalina.ha.tcp.SimpleTcpCluster send

== Now I browse to http://localhost/MyServlet =====

SEVERE: Unable to send message through cluster sender.
org.apache.catalina.tribes.ChannelException: No destination given; No faulty
members identified.
        at
org.apache.catalina.tribes.group.GroupChannel.send(GroupChannel.java:194)
        at
org.apache.catalina.tribes.group.GroupChannel.send(GroupChannel.java:175)
        at
org.apache.catalina.ha.tcp.SimpleTcpCluster.send(SimpleTcpCluster.java:835)
        at
org.apache.catalina.ha.tcp.SimpleTcpCluster.sendClusterDomain(SimpleTcpClust
er.java:814)
        at
org.apache.catalina.ha.session.DeltaManager.send(DeltaManager.java:586)
        at
org.apache.catalina.ha.session.DeltaManager.sessionExpired(DeltaManager.java
:1211)
        at
org.apache.catalina.ha.session.DeltaSession.expire(DeltaSession.java:366)
        at
org.apache.catalina.ha.session.DeltaSession.expire(DeltaSession.java:352)
        at
org.apache.catalina.session.StandardSession.expire(StandardSession.java:660)
        at
org.apache.catalina.session.StandardSession.invalidate(StandardSession.java:
1111)
        at
org.apache.catalina.session.StandardSessionFacade.invalidate(StandardSession
Facade.java:150)
        at pad.kernel.Resolver.service(Resolver.java:623)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
        at pad.kernel.EntryPointFilter.doFilter(EntryPointFilter.java:365)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:219)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:175)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128
)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
        at
org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347
)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:584)
        at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)

--> Every new hit at the sever provokes a new:
"SEVERE: Unable to send message through cluster sender.[...]"


This is a normal issue? Or it can be desactivated?

Thanks
Best regards
Raúl.


-----Mensaje original-----
De: Raúl García [mailto:rgarcia@emovilia.com] 
Enviado el: viernes, 18 de enero de 2008 11:23
Para: 'Tomcat Users List'
Asunto: RE: Tomcat 6 - Cluster error.

Hi Filip, 

Thank you for that suggestion. We are going to try it now.

On the other side, if You want to reproduce the error:

We have used a server here configured with the same config.xml files.
To force it to the "crash" we send a high amount of "login" request (Those
that creates a new session), for a long time. Not always, but this can
reproduce the error without having to wait 12 days.

At the moment, we tried once the new keepAliveCount="0", and both nodes
worked perfectly during the "experiment" (45 min, 11.000 hits).

It will be a pleasure that you get the debug error, let me know anything
more you need.

Thank you for the response.

We will see the real results in 13 days, I'll update.

Best Regards
Raúl.

-----Mensaje original-----
De: Filip Hanik - Dev Lists [mailto:devlists@hanik.com] 
Enviado el: jueves, 17 de enero de 2008 19:01
Para: Tomcat Users List
Asunto: Re: Tomcat 6 - Cluster error.

already replied to your old thread

ok, it looks like you might have ended up with a rogue socket,
and what happens is that any message sent to that socket just gets lost 
in the ether, since it doesn't have any interest ops.
There is a workaround for this, turn off keep alives all together, or 
implement a keep alive timeout

Option 1 - no keep alives at all

<Transport 
className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"
          timeout="60000"
          keepAliveCount="0"/>

Option 2 - implement a keep alive timeout

<Transport 
className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"
          timeout="60000"
          keepAliveTime="120000"/>

or make a combination of both values

either option should work for you.

On a side note, I'm interested if the scenario you run into is 
reproducible, it keeps happening over and over again, then if possible, 
I'd like to get some debug logs from you

Filip




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message