Hello,
I think you found a real bug. Could you please try the following patch:
Index: jk_status.c
===================================================================
--- jk_status.c (revision 418136)
+++ jk_status.c (working copy)
@@ -755,13 +755,9 @@
i = status_bool("wd", s->query_string);
j = status_bool("ws", s->query_string);
if (wr->s->is_disabled!=i || wr->s->is_stopped!=j) {
- /* lock shared memory */
- jk_shm_lock();
wr->s->is_disabled = i;
wr->s->is_stopped = j;
reset_lb_values(lb, l);
- /* unlock the shared memory */
- jk_shm_unlock();
if (i+j==0) {
jk_log(l, JK_LOG_INFO,
"worker %s restarted in status worker"
@@ -771,12 +767,8 @@
}
i = status_int("wx", s->query_string, wr->s->distance);
if (wr->s->distance!=i) {
- /* lock shared memory */
- jk_shm_lock();
wr->s->distance = i;
reset_lb_values(lb, l);
- /* unlock the shared memory */
- jk_shm_unlock();
}
i = status_int("wf", s->query_string, wr->s->lb_factor);
if (i > 0 && wr->s->lb_factor != i) {
In case you never saw a diff: the lines beginning with "-" need to be
deleted in the file jk/common/jk_status.c.
It would be great, if you could test this and report, if this fixes the
problem.
Rainer
Mohan2005 schrieb:
> Dear Sir:
>
> Issue:
>
> 'Update Worker' does not respond/is hung when trying to use Disabled/Stopped
> options.
>
> workers.properties file as follows...
>
> #
> # workers.properties
> #
> # In Unix, we use forward slashes:
> ps=/
>
> # list the workers by name
> #worker.list=lab2a, lab2b, lab2c, lab2d, lab2e, lab2e, loadbalancer
> worker.list=loadbalancer, jkstatus
>
> # ------------------------
> # First JBoss server
> # ------------------------
> worker.lab2a.port=8009
> worker.lab2a.host=10.0.0.111
> worker.lab2a.type=ajp13
>
> # Specify the size of the open connection cache.
> worker.lab2a.connection_pool_size=1
> worker.lab2a.retries=0
> worker.lab2a.stopped=0
> worker.lab2a.connection_pool_timeout=300
> worker.lab2a.socket_timeout=60
> worker.lab2a.domain=www-jbosslab2Adomain-com
> #
> # Specifies the load balance factor when used with
> # a load balancing worker.
> # Note:
> # ----> lbfactor must be > 0
> # ----> Low lbfactor means less work done by the worker.
> worker.lab2a.lbfactor=1
>
>
> # ------------------------
> # Second JBoss server
> # ------------------------
> ...
> ...
>
> ...
> ...
> ...
> # ------------------------
> # Load Balancer worker
> # ------------------------
> #
> # The loadbalancer (type lb) worker performs weighted round-robin
> # load balancing with sticky sessions.
> # Note:
> # ----> If a worker dies, the load balancer will check its state
> # once in a while. Until then all work is redirected to peer
> # worker.
>
> worker.loadbalancer.type=lb
> worker.loadbalancer.balance_workers=lab2a, lab2b, lab2c, lab2d, lab2e, lab2f
> worker.loadbalancer.local_worker_only=1
> worker.sticky_session=1
> worker.loadbalancer.lock=P
>
> worker.jkstatus.type=status
> #
> # END workers.properties
> #
>
>
> jkmanager web client output....
>
>
>
> JK Status Manager for jbosslab2.roomstest.com
> Server Version: Apache/2.0.53 (Unix) mod_ssl/2.0.53 OpenSSL/0.9.7e PHP/5.0.3
> mod_jk/1.2.16
> JK Version: 1.2.16
>
> --------------------------------------------------------------------------------
>
> Worker Status for loadbalancer
> Type Sticky session Force Sticky session Retries Method Lock
> lb True False 3 Request Pessimistic
>
> Name Type jvmRoute Host Addr Stat D F M V Acc Err Wr Rd Busy Max RR Cd
> lab2a ajp13 lab2a 10.0.0.111:8009 10.0.0.111:8009 OK 0 1 1 0 0 0 0 0 0 0
> www-jbosslab2Adomain-com
>
>
> ---------------------------------------------------------------------------------------------------------------------------------
>
>
> mod_jk log at startup....
>
>
> [EMAIL PROTECTED] conf]# /data/apache2/bin/apachectl start
> [EMAIL PROTECTED] conf]# tail -f
> /data/apache2/logs/mod_jk.log.2006-07-05.16\:23\:GMT
> [Wed Jul 05 22:23:29 2006] [32186:59616] [debug] ws_write::mod_jk.c (412):
> written 5 out of 5
> [Wed Jul 05 22:23:29 2006] [32186:59616] [debug] ws_write::mod_jk.c (412):
> written 9 out of 9
> [Wed Jul 05 22:23:29 2006] [32186:59616] [debug] ws_write::mod_jk.c (412):
> written 5 out of 5
> [Wed Jul 05 22:23:29 2006] [32186:59616] [debug] ws_write::mod_jk.c (412):
> written 11 out of 11
> [Wed Jul 05 22:23:29 2006] [32186:59616] [debug] ws_write::mod_jk.c (412):
> written 9 out of 9
> [Wed Jul 05 22:23:29 2006] [32186:59616] [debug] ws_write::mod_jk.c (412):
> written 59 out of 59
> [Wed Jul 05 22:23:29 2006] [32186:59616] [debug]
> wc_get_worker_for_name::jk_worker.c (111): found a worker jkstatus
> [Wed Jul 05 22:23:29 2006] [32186:59616] [debug] ws_write::mod_jk.c (412):
> written 891 out of 891
> [Wed Jul 05 22:23:29 2006] [32186:59616] [debug] ws_write::mod_jk.c (412):
> written 16 out of 16
> [Wed Jul 05 22:23:29 2006] [32186:59616] [debug] jk_handler::mod_jk.c
> (1962): Service finished with status=200 for worker=jkstatus
>
> mod_jk log when 'Update Worker' is pressed...
>
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> map_uri_to_worker::jk_uri_worker_map.c (487): Attempting to map URI
> '/jklab2manager/' from 36 maps
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> map_uri_to_worker::jk_uri_worker_map.c (499): Attempting to map context URI
> '/RoomsnetAdmin/*'
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> map_uri_to_worker::jk_uri_worker_map.c (499): Attempting to map context URI
> '/jklab2manager/*'
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> map_uri_to_worker::jk_uri_worker_map.c (513): Found a wildchar match
> jkstatus -> /jklab2manager/*
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug] jk_handler::mod_jk.c
> (1832): Into handler jakarta-servlet worker=jkstatus r->proxyreq=0
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> wc_get_worker_for_name::jk_worker.c (111): found a worker jkstatus
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug] wc_maintain::jk_worker.c
> (301): Maintaining worker loadbalancer
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> ajp_maintain::jk_ajp_common.c (2217): reached pool min size 0 from 1 cache
> slots
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> ajp_maintain::jk_ajp_common.c (2225): recycled 0 sockets in 0 seconds from 1
> pool slots
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> ajp_maintain::jk_ajp_common.c (2217): reached pool min size 0 from 1 cache
> slots
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> ajp_maintain::jk_ajp_common.c (2225): recycled 0 sockets in 0 seconds from 1
> pool slots
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> ajp_maintain::jk_ajp_common.c (2217): reached pool min size 0 from 1 cache
> slots
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> ajp_maintain::jk_ajp_common.c (2225): recycled 0 sockets in 0 seconds from 1
> pool slots
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> ajp_maintain::jk_ajp_common.c (2217): reached pool min size 0 from 1 cache
> slots
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> ajp_maintain::jk_ajp_common.c (2225): recycled 0 sockets in 0 seconds from 1
> pool slots
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> ajp_maintain::jk_ajp_common.c (2217): reached pool min size 0 from 1 cache
> slots
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> ajp_maintain::jk_ajp_common.c (2225): recycled 0 sockets in 0 seconds from 1
> pool slots
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> ajp_maintain::jk_ajp_common.c (2217): reached pool min size 0 from 1 cache
> slots
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> ajp_maintain::jk_ajp_common.c (2225): recycled 0 sockets in 0 seconds from 1
> pool slots
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> maintain_workers::jk_lb_worker.c (316): decay with 2^1
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug] init_ws_service::mod_jk.c
> (531): Service protocol=HTTP/1.1 method=GET host=(null) addrr=147.120.1.1
> name=jbosslab2.roomstest.com port=80 auth=(null) user=(null)
> laddr=147.120.147.2 raddr=147.120.1.1
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> wc_get_worker_for_name::jk_worker.c (111): did not find a worker lab2d
> [Wed Jul 05 22:29:03 2006] [24473:59616] [debug]
> wc_get_worker_for_name::jk_worker.c (111): found a worker loadbalancer
>
>
> And this request hangs.
>
>
> IMAGES ATTACHED:
>
>
> Thanks in advance.
>
>
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]