]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Revert r1696960 (see commit thread).
authorYann Ylavic <ylavic@apache.org>
Thu, 27 Aug 2015 11:45:06 +0000 (11:45 +0000)
committerYann Ylavic <ylavic@apache.org>
Thu, 27 Aug 2015 11:45:06 +0000 (11:45 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1698123 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
docs/log-message-tags/next-number
modules/proxy/mod_proxy_balancer.c

diff --git a/CHANGES b/CHANGES
index 02f4fdf9ef0fe4ccfca97a50a5ceeb51d42cad6c..0420ab900cd234d85bf87082601261ebc86cd86e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,9 +1,6 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
-  *) mod_proxy_balancer: Fix balancers and balancer members reuse on
-     restart when new ones are added.  PR 58024.  [Yann Ylavic]
-
   *) mod_socache_memcache: Add the 'MemcacheConnTTL' directive to control how 
      long to keep idle connections with the memcache server(s).
      Change default value from 600 usec (!) to 15 sec. PR 58091
index ec21808e298acce1020bc4b87b287d072db49951..ff481a2e55352a91075216c01581435185ad9f03 100644 (file)
@@ -1 +1 @@
-2966
+2964
index be77ef155ec92bf38e6458cb82b726bce7a9a90f..5e1d78bc5403071aa4096399ed6bb14072af4e48 100644 (file)
@@ -761,11 +761,8 @@ static int balancer_post_config(apr_pool_t *pconf, apr_pool_t *plog,
         char *id;
         proxy_balancer *balancer;
         ap_slotmem_type_t type;
-        apr_size_t attached_size;
-        unsigned int attached_num;
         void *sconf = s->module_config;
         conf = (proxy_server_conf *)ap_get_module_config(sconf, &proxy_module);
-
         /*
          * During create_proxy_config() we created a dummy id. Now that
          * we have identifying info, we can create the real id
@@ -797,39 +794,11 @@ static int balancer_post_config(apr_pool_t *pconf, apr_pool_t *plog,
                          (int)ALIGNED_PROXY_BALANCER_SHARED_SIZE,
                          (int)conf->balancers->nelts, conf->max_balancers);
 
-            /* First try to attach() since the number of configured balancers
-             * may have changed during restart, and we don't want create() to
-             * fail because the overall size * number of entries is not stricly
-             * identical to the previous run.  There may still be enough room
-             * for this new run thanks to bgrowth margin, so if attach()
-             * succeeds we can only check for the number of available entries
-             * to be *greater or* equal to what we need now.  If attach() fails
-             * we simply fall back to create().
-             */
-            rv = storage->attach(&new, conf->id,
-                                 &attached_size, &attached_num,
-                                 pconf);
-            if (rv != APR_SUCCESS) {
-                rv = storage->create(&new, conf->id,
-                                     ALIGNED_PROXY_BALANCER_SHARED_SIZE,
-                                     conf->max_balancers, type, pconf);
-            }
-            else {
-                ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02964)
-                             "Balancers attached: %d, %d (%d)",
-                             (int)ALIGNED_PROXY_BALANCER_SHARED_SIZE,
-                             (int)attached_num, conf->max_balancers);
-                if (attached_size == ALIGNED_PROXY_BALANCER_SHARED_SIZE
-                        && attached_num >= conf->balancers->nelts) {
-                    conf->max_balancers = attached_num;
-                }
-                else {
-                    rv = APR_ENOSPC;
-                }
-            }
+            rv = storage->create(&new, conf->id,
+                                 ALIGNED_PROXY_BALANCER_SHARED_SIZE,
+                                 conf->max_balancers, type, pconf);
             if (rv != APR_SUCCESS) {
-                ap_log_error(APLOG_MARK, APLOG_EMERG, rv, s, APLOGNO(01179)
-                             "balancer slotmem create or attach failed");
+                ap_log_error(APLOG_MARK, APLOG_EMERG, rv, s, APLOGNO(01179) "balancer slotmem_create failed");
                 return !OK;
             }
             conf->bslot = new;
@@ -895,32 +864,11 @@ static int balancer_post_config(apr_pool_t *pconf, apr_pool_t *plog,
                          (int)ALIGNED_PROXY_WORKER_SHARED_SIZE,
                          (int)balancer->max_workers, i);
 
-            /* try to attach first (see rationale from balancers above) */
-            rv = storage->attach(&new, balancer->s->sname,
-                                 &attached_size, &attached_num,
-                                 pconf);
-            if (rv != APR_SUCCESS) {
-                rv = storage->create(&new, balancer->s->sname,
-                                     ALIGNED_PROXY_WORKER_SHARED_SIZE,
-                                     balancer->max_workers, type, pconf);
-            }
-            else {
-                ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02965)
-                             "Workers attached: %s (%s), %d, %d (%d) [%u]",
-                             balancer->s->name, balancer->s->sname,
-                             (int)ALIGNED_PROXY_WORKER_SHARED_SIZE,
-                             (int)attached_num, balancer->max_workers, i);
-                if (attached_size == ALIGNED_PROXY_WORKER_SHARED_SIZE
-                        && attached_num >= balancer->workers->nelts) {
-                    balancer->max_workers = attached_num;
-                }
-                else {
-                    rv = APR_ENOSPC;
-                }
-            }
+            rv = storage->create(&new, balancer->s->sname,
+                                 ALIGNED_PROXY_WORKER_SHARED_SIZE,
+                                 balancer->max_workers, type, pconf);
             if (rv != APR_SUCCESS) {
-                ap_log_error(APLOG_MARK, APLOG_EMERG, rv, s, APLOGNO(01185)
-                             "worker slotmem create or attach failed");
+                ap_log_error(APLOG_MARK, APLOG_EMERG, rv, s, APLOGNO(01185) "worker slotmem_create failed");
                 return !OK;
             }
             balancer->wslot = new;