mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 20:46:11 +02:00
[BUG] do not release the connection slot during a retry
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. (cherry picked from commit 8262d8bd7fdb262c980bd70cb2931e51df07513f)
This commit is contained in:
parent
8b2fce3713
commit
f62c4afe63
@ -2494,10 +2494,8 @@ int process_srv(struct session *t)
|
||||
//fprintf(stderr,"2: c=%d, s=%d\n", c, s);
|
||||
|
||||
fd_delete(t->srv_fd);
|
||||
if (t->srv) {
|
||||
if (t->srv)
|
||||
t->srv->cur_sess--;
|
||||
sess_change_server(t, NULL);
|
||||
}
|
||||
|
||||
if (!(req->flags & BF_WRITE_STATUS))
|
||||
conn_err = SN_ERR_SRVTO; // it was a connect timeout.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user