Skip to content

Commit

Permalink
Upstream keepalive: "single" parameter deprecated.
Browse files Browse the repository at this point in the history
The original idea was to optimize edge cases in case of interchangeable
backends, i.e. don't establish a new connection if we have any one
cached.  This causes more harm than good though, as it screws up
underlying balancer's idea about backends used and may result in
various unexpected problems.
  • Loading branch information
mdounin committed Jun 18, 2012
1 parent 91c654d commit 29844cd
Showing 1 changed file with 4 additions and 29 deletions.
33 changes: 4 additions & 29 deletions src/http/modules/ngx_http_upstream_keepalive_module.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@

typedef struct {
ngx_uint_t max_cached;
ngx_uint_t single; /* unsigned:1 */

ngx_queue_t cache;
ngx_queue_t free;
Expand Down Expand Up @@ -223,36 +222,11 @@ ngx_http_upstream_get_keepalive_peer(ngx_peer_connection_t *pc, void *data)

kp->failed = 0;

/* single pool of cached connections */

if (kp->conf->single && !ngx_queue_empty(&kp->conf->cache)) {

q = ngx_queue_head(&kp->conf->cache);

item = ngx_queue_data(q, ngx_http_upstream_keepalive_cache_t, queue);
c = item->connection;

ngx_queue_remove(q);
ngx_queue_insert_head(&kp->conf->free, q);

ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
"get keepalive peer: using connection %p", c);

c->idle = 0;
c->log = pc->log;
c->read->log = pc->log;
c->write->log = pc->log;
c->pool->log = pc->log;

pc->connection = c;
pc->cached = 1;

return NGX_DONE;
}
/* ask balancer */

rc = kp->original_get_peer(pc, kp->data);

if (kp->conf->single || rc != NGX_OK) {
if (rc != NGX_OK) {
return rc;
}

Expand Down Expand Up @@ -552,7 +526,8 @@ ngx_http_upstream_keepalive(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
for (i = 2; i < cf->args->nelts; i++) {

if (ngx_strcmp(value[i].data, "single") == 0) {
kcf->single = 1;
ngx_conf_log_error(NGX_LOG_WARN, cf, 0,
"the \"single\" parameter is deprecated");
continue;
}

Expand Down

0 comments on commit 29844cd

Please sign in to comment.