]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: tcpcheck: Disable QUICKACK only if data should be sent after connect
authorChristopher Faulet <cfaulet@haproxy.com>
Wed, 24 Aug 2022 09:38:03 +0000 (11:38 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 24 Aug 2022 09:59:04 +0000 (11:59 +0200)
commit871dd82117f1e9a673938c6987ddf8989485d384
tree71e3dd8203139a8b6b51fe5ee71c27a370eaf243
parent6020c4e44eb46fd21b5f85db927edb8d10e0482d
BUG/MINOR: tcpcheck: Disable QUICKACK only if data should be sent after connect

It is only a real problem for agent-checks when there is no agent string to
send. The condition to disable TCP_QUICKACK was only based on the action
type following the connect one. But it is not always accurate. indeed, for
agent-checks, there is always a SEND action. But if there is no "agent-send"
string defined, nothing is sent. In this case, this adds 200ms of latency
with no reason.

To fix the bug, a flag is now used on the CONNECT action to instruct there
are data that should be sent after the connect. For health-checks, this flag
is set if the action following the connect is a SEND action. For
agent-checks, it is set if an "agent-send" string is defined.

This patch should fix the issue #1836. It must be backported as far as 2.2.
include/haproxy/tcpcheck-t.h
src/check.c
src/tcpcheck.c