tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <>
Subject Re: mod_jk worker activation not working anymore in 1.2.37?
Date Mon, 10 Jun 2013 20:20:47 GMT
On 10.06.2013 17:29, Konstantin Kolinko wrote:
> 2013/6/10 David Gubler <>:
>> 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 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.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 documentation :(
>> Does anyone have an idea what I could be doing wrong?
> Looking at the current changelog,
> <section name="Changes between 1.2.37 and 1.2.38">
> ...
>      <fix>
>         Fix status worker not updating parameters for all members. (mturk)
>       </fix>
> That is

Yes that should be it.

If the OP compiles himself, just add the tiny patch

to your mod_jk source before compiling.



To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message