[prev in list] [next in list] [prev in thread] [next in thread] 

List:       tomcat-user
Subject:    Tomcat cluster session replication fails on first request only
From:       Vera Mickael <mvera () sopragroup ! com>
Date:       2012-07-25 9:49:14
Message-ID: 1815_1343209755_500FC11B_1815_2875_1_C3577F308B72C84BA40054460D1AB70F05912DA6 () wancyexmbx01 ! ancy ! fr ! sopra
[Download RAW message or body]

Hi,

Context:
Tomcat 7.0.29
Apache 2.4.2
Tomcat connectors 1.2.37
JSF
Ajax requests
Sticky sessions

We have setup a cluster that almost works. Sessions are replicated and failover \
almost works.

But on first request of the first session, just after tomcat servers started, there \
is a problem on session replication (see stack trace at the end of this mail). This \
problem does not appear on following requests. I'm afraid this occurs because our \
application makes use of ajax requests and the first page of the application quickly \
sends other requests before tomcat had the time to perform the first replication. \
Maybe because tomcat needs time to load resources on first time replication ? On next \
sessions, there won't be no more errors.

I've noticed errors in my mod_jk logs, I don't know if this is important, logs are \
provided as attached files.

I've attached my configuration files. 

Is there any solution to prevent this errors, the tomcat error and the mod_jk errors \
?

Here is the error logged on the other node than the one which handled the first \
request.

INFO: Server startup in 14409 ms
25 juil. 2012 11:10:05 org.apache.catalina.tribes.io.BufferPool getBufferPool
INFO: Created a buffer pool with max size:104857600 bytes of \
type:org.apache.catalina.tribes.io.BufferPool15Impl 25 juil. 2012 11:10:06 \
                org.apache.catalina.ha.tcp.SimpleTcpCluster memberAdded
INFO: Replication member \
added:org.apache.catalina.tribes.membership.MemberImpl[tcp://{172, 29, 170, \
122}:4001,{172, 29, 170, 122},4001, alive=1011, securePort=-1, UDP Port=-1, id={-109 \
-17 -91 -77 -61 105 75 -43 -76 -1 115 24 -55 -106 26 3 }, payload={}, command={}, \
domain={}, ] 25 juil. 2012 11:10:56 org.apache.catalina.ha.session.DeltaManager \
                messageReceived
GRAVE: Manager [/ecamtool]: Unable to receive message through TCP channel
java.lang.IllegalArgumentException: Session id mismatch, not executing the delta \
                request
        at org.apache.catalina.ha.session.DeltaRequest.execute(DeltaRequest.java:160)
        at org.apache.catalina.ha.session.DeltaManager.handleSESSION_DELTA(DeltaManager.java:1347)
                
        at org.apache.catalina.ha.session.DeltaManager.messageReceived(DeltaManager.java:1293)
                
        at org.apache.catalina.ha.session.DeltaManager.messageDataReceived(DeltaManager.java:1014)
                
        at org.apache.catalina.ha.session.ClusterSessionListener.messageReceived(ClusterSessionListener.java:92)
                
        at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:897)
                
        at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:878)
                
        at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:278)
                
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
                
        at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:113)
                
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
                
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
                
        at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
                
        at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
                
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
                
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
                
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
  at java.lang.Thread.run(Thread.java:662)

Thanks for any help.

Regards/Cordialement,
Mickaël VERA
Architect / ProjectManager

SOPRA group.
1 Avenue André Marie Ampère
BP 10134 - 31772 Colomiers Cedex
Phone : +33 (0)5 34 56 71 95
mvera@sopragroup.com - www.sopragroup.com

Ce message peut contenir des informations confidentielles dont la divulgation est à \
ce titre rigoureusement interdite en l'absence d'autorisation explicite de \
l'émetteur. Dans l'hypothèse où vous auriez reçu par erreur ce message, merci de le \
renvoyer à l'émetteur et de détruire toute copie.

Pensez à l'environnement avant d'imprimer.


["mod_jk.log.zip" (application/x-zip-compressed)]
["mod_jk.conf.zip" (application/x-zip-compressed)]
["mod_jk_workers.properties.zip" (application/x-zip-compressed)]
["server.xml.zip" (application/x-zip-compressed)]

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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic