2013/6/10 David Gubler <d...@doodle.com>: > 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? >
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 http://svn.apache.org/viewvc?view=revision&revision=1354021 Best regards, Konstantin Kolinko --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org