Hi,

I have noted to the reset() clean up too much in the balancers:
mod_lbmethod_bybusyness.c for example does:
+++
    for (i = 0; i < balancer->workers->nelts; i++, worker++) {
        (*worker)->s->lbstatus = 0;
        ap_proxy_set_busy_count(*worker, 0); /* BAD */
    }
+++
In fact reset() is called by ap_proxy_initialize_balancer() when a child process is created... Resetting the counters messes up the logic.

Does it make sense to stop calling reset() from ap_proxy_initialize_balancer() or is it better to fix all reset()?


There is another thing adding a new worker via /balancer-manager/ probably requires some kind of reset() otherwise all the load moves to the new worker which is not the best.... May be calling age() or triggering calls to age() can help.

--
Cheers

Jean-Frederic

Reply via email to