Hi Willy,
Le 25/04/2013 08:20, Willy Tarreau a écrit :
> (...)
Thanks for this feedback. It would be nice if they could get a trace, as
I suspect that rsyslog has the time to accept the connection first, which
is not really desired. Or could they try to add "option tcp-smart-connect"
to the backend to see if the issue disappears ? It should, because the
sequence will be SYN, SYN/ACK, RST which the application never sees, and
if so I think we should always enable this for pure TCP checks.
Tried...and as expected, it works :-)
Aside of their analysis, I wonder if it's possible to introduce a new
option "check-nolinger". This would let users choose one or the other
behaviour.
I'd rather avoid this for the reasons which led us to this fix. Having
the client close first in TCP is always problematic and we don't want
to end up with thousands of TIME_WAIT sockets which cannot be reopened
for 2 minutes.
Don't worry, I prepared them for such a conclusion ;-)
--
Cyril Bonté