Hi,

/Httpd 2.2.17, mod_jk 1.2.31, tomcat 7.0.10, OSX 10.6.5/

Looks like there is something I do not get regarding Tomcat clustering, so I do 
here a sanity check :-)

I have two machines with one tomcat on both.

I use one of the machines as reverse proxy.  here is the reverse proxy conf 
from the httpd.conf file:

ProxyRequests Off
<Proxy balancer://pathCluster>
        BalancerMember http://bml0065.yalepath.org loadfactor=10 
        BalancerMember http://bml0066.yalepath.org loadfactor=10 
        ProxySet lbmethod=bytraffic
</Proxy>
ProxyPass       /tc/ balancer://pathCluster/ 
ProxyPassReverse        /tc/ balancer://pathCluster/
ProxyPassReverseCookiePAth      / /
ProxyPassReverseCookieDomain    / /

The reverse proxy passes the request to one of the balance members.  The 
balance member see that the request is for tomcat and passes it to mod_jk.  
Mod_jk is checking its workers.properties file and based upon the load it 
passes the request to one of the two Tomcat instances.  Here is one of the 
workers.properties file:

bml0065:local administrator$ cat apache2/conf/workers.properties 
worker.list = lb,jkstatus

worker.lb.type=lb
worker.lb.balance_workers=tomcat1,tomcat3
worker.lb.sticky_session = True
worker.lb.sticky_session_force = False

worker.jkstatus.type=status

worker.tomcat1.type = ajp13
worker.tomcat1.host = bml0066.yalepath.org
worker.tomcat1.port = 8109
worker.tomcat1.lbfactor = 1
worker.tomcat1.redirect=tomcat3

worker.tomcat3.type = ajp13
worker.tomcat3.host = bml0065.yalepath.org
worker.tomcat3.port = 8309
worker.tomcat3.lbfactor = 1
worker.tomcat3.redirect=tomcat1

To check session replication and session failover, I use the SessionExmaple 
servlet from the supplied examples webapp this way:
http://bml0065.yalepath.org/tc/examples/servlets/servlet/SessionExample

bml0065 is the reverse proxy.  When I see that the session is created I shut 
down that tomcat which hosts the session and add another session attribute via 
the SessionExample servlet.  The mechanism is working fine, the session fails 
over to the other tomcat instance.  I add more session attribute, and start up 
the previously shouted down tomcat instance, add more attribute, then I shut 
down the other tomcat instance and check for fail over, etc..etc..  Everything 
works.

Then I do not shut down tomcat, just stop the examples webapp on that tomcat 
instance where currently the session resides and try to add more session 
attribute.  Instead of failing over, I receive a 404 error:

HTTP Status 404 - /examples/servlets/servlet/SessionExample
type Status report
message /examples/servlets/servlet/SessionExample
description The requested resource (/examples/servlets/servlet/SessionExample) 
is not available.
Apache Tomcat/7.0.10

My understanding is that the request should be rerouted to the other tomcat 
instance and present the sessions from that machine, the same way when tomcat 
itself was stopped.  However that is not what happenzzzz.

So the question is what do I miss in this process ?

Thanks ahead,

János


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

Reply via email to