tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Gubler ...@doodle.com>
Subject mod_jk worker activation not working anymore in 1.2.37?
Date Mon, 10 Jun 2013 12:36:18 GMT
Hi list,

We have recently upgraded our Apache servers from Debian Squeeze to 
Wheezy (from Apache 2.2.16 with mod_jk 1.2.30 to Apache 2.2.22 with 
mod_jk 1.2.37). The Tomcat version hasn't changed (7.0.37).

We often do rolling releases by disabling (DIS) some worker in 
jkmanager, waiting for a few minutes for most sessions to go away (we 
use sticky sessions but not forced), upgrading it, and re-enabling it. 
This worked perfectly with mod_jk 1.2.30. The server is rather busy 
(order of 100-200 req/s going to tomcat).

However, with mod_jk 1.2.37, the activation state behaves erratically. 
Say I disable worker1 on all apache servers via jkmanager. When I go 
back to the jkmanager overview screen, it still shows as active. I hit 
reload, now it shows as disabled. I can wait for a few seconds or 
minutes, reload, and suddenly it shows up as active again! It keeps 
switching back and forth between active and disabled if I reload often 
enough. Afterwards I usually have to set it to active a few times to 
make it stick there. This happens on all apache servers independently.

And more worringly, the load on the worker does not decrease, not even 
after waiting for half an hour or longer (with 1.2.30, the load on a 
worker decreased to about 5% after 5-10 minutes).

When I set a worker to stopped, the activation state also switches 
between active and stopped, the load on the worker goes down slowly, but 
the requests do not cease completely. With 1.2.30, I could set a worker 
to stopped and it instantaneously received no more requests.

Other than that, mod_jk behaves as expected (e.g. if I shut down one of 
the tomcats, the requests go to the other; load balancing works fine in 
normal operation).

I have stripped down our workers.properties to the bare minimum that we 
need, and the problem is still there:

ps=/
worker.list=loadbalancer,jkstatus
worker.jkstatus.type=status

worker.loadbalancer.type=lb
worker.loadbalancer.sticky_session=true
worker.loadbalancer.balance_workers=worker1,worker2

worker.worker1.type=ajp13
worker.worker1.host=WW.XX.YY.ZZ
worker.worker1.port=8009
worker.worker1.connect_timeout=70000
worker.worker1.prepost_timeout=70000
worker.worker1.socket_timeout=70
worker.worker1.connection_pool_timeout=70
worker.worker1.connection_pool_size=200
worker.worker1.retry_interval=1000
worker.worker1.lbfactor=1

[same for worker2, only difference is the IP address]

Rest of the configuration is Debian standard. Apache uses JkAutoAlias, 
JkMount and a bunch of JkUnMounts, but nothing fancy.

The changelog does not really give me any clues as to what change could 
cause this, and neither does the workers.properties documentation :(

Does anyone have an idea what I could be doing wrong?

Thanks!

David Gubler

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


Mime
View raw message