1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-08 15:02:10 +03:00

Fix for: [Bug 62372] Load balancer byrequests required when bytraffic chosen

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1856829 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jim Jagielski
2019-04-02 15:00:43 +00:00
parent 286891c947
commit f67237e46c

View File

@@ -1165,13 +1165,13 @@ PROXY_DECLARE(char *) ap_proxy_define_balancer(apr_pool_t *p,
* exist, that's OK at this time. We check when we share and sync * exist, that's OK at this time. We check when we share and sync
*/ */
lbmethod = ap_lookup_provider(PROXY_LBMETHOD, "byrequests", "0"); lbmethod = ap_lookup_provider(PROXY_LBMETHOD, "byrequests", "0");
(*balancer)->lbmethod = lbmethod;
(*balancer)->workers = apr_array_make(p, 5, sizeof(proxy_worker *)); (*balancer)->workers = apr_array_make(p, 5, sizeof(proxy_worker *));
#if APR_HAS_THREADS #if APR_HAS_THREADS
(*balancer)->gmutex = NULL; (*balancer)->gmutex = NULL;
(*balancer)->tmutex = NULL; (*balancer)->tmutex = NULL;
#endif #endif
(*balancer)->lbmethod = lbmethod;
if (do_malloc) if (do_malloc)
bshared = ap_malloc(sizeof(proxy_balancer_shared)); bshared = ap_malloc(sizeof(proxy_balancer_shared));
@@ -1185,6 +1185,8 @@ PROXY_DECLARE(char *) ap_proxy_define_balancer(apr_pool_t *p,
if (PROXY_STRNCPY(bshared->name, uri) != APR_SUCCESS) { if (PROXY_STRNCPY(bshared->name, uri) != APR_SUCCESS) {
return apr_psprintf(p, "balancer name (%s) too long", uri); return apr_psprintf(p, "balancer name (%s) too long", uri);
} }
(*balancer)->lbmethod_set = 1;
/* /*
* We do the below for verification. The real sname will be * We do the below for verification. The real sname will be
* done post_config * done post_config
@@ -1239,6 +1241,7 @@ PROXY_DECLARE(apr_status_t) ap_proxy_share_balancer(proxy_balancer *balancer,
lbmethod = ap_lookup_provider(PROXY_LBMETHOD, balancer->s->lbpname, "0"); lbmethod = ap_lookup_provider(PROXY_LBMETHOD, balancer->s->lbpname, "0");
if (lbmethod) { if (lbmethod) {
balancer->lbmethod = lbmethod; balancer->lbmethod = lbmethod;
balancer->lbmethod_set = 1;
} else { } else {
ap_log_error(APLOG_MARK, APLOG_CRIT, 0, ap_server_conf, APLOGNO(02432) ap_log_error(APLOG_MARK, APLOG_CRIT, 0, ap_server_conf, APLOGNO(02432)
"Cannot find LB Method: %s", balancer->s->lbpname); "Cannot find LB Method: %s", balancer->s->lbpname);