On 01/31/2006 08:13 PM, Robby Pedrica wrote:
> Hi Rudiger
>
> Thanks for the reply:
>
> a. any idea on when a fix will be available or whether there are patches
> available for these items?
> b. Yes, if you manually disable a member in balancer-manager, then it becomes
> enabled ( OK ) after a minute or 2
>
> Regards
>
> Robby
Could you please give the attached patch a try and let me know the results.
Regards
Rüdiger
Index: modules/proxy/mod_proxy_balancer.c
===================================================================
--- modules/proxy/mod_proxy_balancer.c (Revision 371134)
+++ modules/proxy/mod_proxy_balancer.c (Arbeitskopie)
@@ -84,7 +84,16 @@
for (i = 0; i < balancer->workers->nelts; i++) {
ap_proxy_initialize_worker_share(conf, workers, s);
- workers->s->status = PROXY_WORKER_INITIALIZED;
+ if (!(workers->s->status & PROXY_WORKER_INITIALIZED)) {
+ workers->s->status |= (workers->status | PROXY_WORKER_INITIALIZED);
+ ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s,
+ "proxy: BALANCER: initialized balancer member %d for "
+ "balancer %s in child %" APR_PID_T_FMT " for (%s) "
+ "min=%d max=%d smax=%d",
+ workers->id, balancer->name, getpid(),
+ workers->hostname, workers->min, workers->hmax,
+ workers->smax);
+ }
++workers;
}
Index: modules/proxy/mod_proxy.c
===================================================================
--- modules/proxy/mod_proxy.c (Revision 371134)
+++ modules/proxy/mod_proxy.c (Arbeitskopie)
@@ -200,18 +200,21 @@
worker->status |= PROXY_WORKER_DISABLED;
else
worker->status &= ~PROXY_WORKER_DISABLED;
+ break;
}
else if (*v == 'S' || *v == 's') {
if (mode)
worker->status |= PROXY_WORKER_STOPPED;
else
worker->status &= ~PROXY_WORKER_STOPPED;
+ break;
}
else if (*v == 'E' || *v == 'e') {
if (mode)
worker->status |= PROXY_WORKER_IN_ERROR;
else
worker->status &= ~PROXY_WORKER_IN_ERROR;
+ break;
}
else {
return "Unknow status parameter option";