From: Yann Ylavic Date: Wed, 25 Oct 2017 07:23:34 +0000 (+0000) Subject: Revert r1813167 (per review). X-Git-Tag: 2.5.0-alpha~23 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=84cabd2d8e25668b5a55233059f26ba2c915a53c;p=apache Revert r1813167 (per review). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1813255 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 4cfb06758a..f790204359 100644 --- a/CHANGES +++ b/CHANGES @@ -1,10 +1,6 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 - *) mod_proxy_balancer: fix runtime lbfactor value changed in 2.4.28. It is - assumed to be between 1 and 100 by lbmethods, so normalize it accordingly. - [Yann Ylavic] - *) mod_md: v1.0.1, ServerName/Alias names from pure-http: virtual hosts are no longer auto-added to a Managed Domain. Error counts of jobs are presisted. When the server restarts (gracefully) any errored staging areas are purged to reset the signup/renewal diff --git a/modules/proxy/mod_proxy.c b/modules/proxy/mod_proxy.c index a72d132fe4..2aa491e372 100644 --- a/modules/proxy/mod_proxy.c +++ b/modules/proxy/mod_proxy.c @@ -104,13 +104,13 @@ static const char *set_worker_param(apr_pool_t *p, if (!strcasecmp(key, "loadfactor")) { /* Normalized load factor. Used with BalancerMember, - * it is a number between 1 and 100 (or 0.01 and 1.0). + * it is a number between 1 and 100. */ double fval = atof(val); ival = fval * 100.0; if (ival < 100 || ival > 10000) return "LoadFactor must be a number between 1..100"; - worker->s->lbfactor = ival / 100; + worker->s->lbfactor = ival; } else if (!strcasecmp(key, "retry")) { /* If set it will give the retry timeout for the worker @@ -2883,7 +2883,7 @@ static int proxy_status_hook(request_rec *r, int flags) ap_rvputs(r, ap_proxy_parse_wstatus(r->pool, *worker), NULL); ap_rvputs(r, "", (*worker)->s->route, NULL); ap_rvputs(r, "", (*worker)->s->redirect, NULL); - ap_rprintf(r, "%d", (*worker)->s->lbfactor); + ap_rprintf(r, "%.2f", (float)((*worker)->s->lbfactor)/100.0); ap_rprintf(r, "%d", (*worker)->s->lbset); ap_rprintf(r, "%" APR_SIZE_T_FMT "", (*worker)->s->elected); diff --git a/modules/proxy/mod_proxy_balancer.c b/modules/proxy/mod_proxy_balancer.c index 5877aae1ab..bdefc8f54e 100644 --- a/modules/proxy/mod_proxy_balancer.c +++ b/modules/proxy/mod_proxy_balancer.c @@ -1093,10 +1093,11 @@ static int balancer_handler(request_rec *r) ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(01192) "settings worker params"); if ((val = apr_table_get(params, "w_lf"))) { + int ival; double fval = atof(val); - int ival = fval * 100.0; + ival = fval * 100.0; if (ival >= 100 && ival <= 10000) { - wsel->s->lbfactor = ival / 100; + wsel->s->lbfactor = ival; if (bsel) recalc_factors(bsel); } @@ -1363,8 +1364,8 @@ static int balancer_handler(request_rec *r) "\n", NULL); ap_rvputs(r, " ", worker->s->hostname, "\n", NULL); - ap_rprintf(r, " %d\n", - worker->s->lbfactor); + ap_rprintf(r, " %.2f\n", + (float)(worker->s->lbfactor)/100.0); ap_rprintf(r, " %d\n", worker->s->port); @@ -1417,8 +1418,8 @@ static int balancer_handler(request_rec *r) " %d\n", worker->s->lbstatus); ap_rprintf(r, - " %d\n", - worker->s->lbfactor); + " %.2f\n", + (float)(worker->s->lbfactor)/100.0); ap_rprintf(r, " %" APR_OFF_T_FMT "\n", worker->s->transferred); @@ -1604,7 +1605,7 @@ static int balancer_handler(request_rec *r) NULL); ap_rvputs(r, "", ap_escape_html(r->pool, worker->s->redirect), NULL); - ap_rprintf(r, "%d", worker->s->lbfactor); + ap_rprintf(r, "%.2f", (float)(worker->s->lbfactor)/100.0); ap_rprintf(r, "%d", worker->s->lbset); ap_rvputs(r, ap_proxy_parse_wstatus(r->pool, worker), NULL); ap_rputs("", r); @@ -1639,7 +1640,7 @@ static int balancer_handler(request_rec *r) ap_rputs("
\n", NULL); ap_rputs("\n", wsel->s->lbfactor); + ap_rprintf(r, "value='%.2f'>\n", (float)(wsel->s->lbfactor)/100.0); ap_rputs("\n", wsel->s->lbset); ap_rputs("
Load factor:
LB Set:
Route: