]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: servers: Don't forget to set srv_cs to NULL if we can't reuse it.
authorOlivier Houchard <ohouchard@haproxy.com>
Mon, 8 Jul 2019 14:30:32 +0000 (16:30 +0200)
committerOlivier Houchard <cognet@ci0.org>
Mon, 8 Jul 2019 14:32:58 +0000 (16:32 +0200)
commita1ab97316f34dc3b478cd076b76b01c0e23b8769
tree423f5c5d16a28cf552c93224a261efcb4b79893c
parentac520950987a5370609a4ef395622dd88bae39f9
BUG/MEDIUM: servers: Don't forget to set srv_cs to NULL if we can't reuse it.

In connect_server(), if there were already a CS assosciated with the stream,
but we can't reuse it, because the target is different (because we tried a
previous connection, it failed, and we use redispatch so we switched servers),
don't forget to set srv_cs to NULL. Otherwise, if we end up reusing another
connection, we would consider we already have a conn_stream, and we won't
create a new one, so we'd have a new connection but we would not be able to
use it.
This can explain frozen streams and connections stuck in CLOSE_WAIT when
using redispatch.

This should be backported to 1.9 and 2.0.
src/backend.c