]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[BUG] do not release the connection slot during a retry
authorWilly Tarreau <w@1wt.eu>
Sun, 14 Sep 2008 15:40:09 +0000 (17:40 +0200)
committerWilly Tarreau <w@1wt.eu>
Sun, 7 Dec 2008 22:27:58 +0000 (23:27 +0100)
(forward-port of commit 8262d8bd7fdb262c980bd70cb2931e51df07513f)

A bug was introduced during last queue management fix. If a server
connection fails, the allocated connection slot is released, but it
will be needed again after the turn-around. This also causes more
connections than expected to go to the server because it appears to
have less connections than real.

Many thanks to Rupert Fiasco, Mark Imbriaco, Cody Fauser, Brian
Gupta and Alexander Staubo for promptly providing configuration
and diagnosis elements to help reproduce this problem easily.

src/session.c

index e82bfccdf1dbd570123222d0274b634ad997fea9..c0df6c68509d0959ac2cd3dda3fade3088479b43 100644 (file)
@@ -221,7 +221,6 @@ int sess_update_st_cer(struct session *s, struct stream_interface *si)
                        s->flags &= ~SN_CURR_SESS;
                        s->srv->cur_sess--;
                }
-               sess_change_server(s, NULL);
        }
 
        /* ensure that we have enough retries left */