------------------------------------------------------------------------ *From: *Willy Tarreau <w...@1wt.eu> *Sent: * 2014-05-07 09:45:47 E *To: *Patrick Hemmer <hapr...@stormcloud9.net>, Rachel Chavez <rachel.chave...@gmail.com> *CC: *haproxy@formilux.org *Subject: *Re: please check
> Hi Patrick, hi Rachel, > > so with these two patches applied on top of the previous one, I get the > behaviour that we discussed here. > > Specifically, we differentiate client-read timeout, server-write timeouts > and server read timeouts during the data forwarding phase. Also, we disable > server read timeout until the client has sent its whole request. That way > I'm seeing the following flags in the logs : > > - cH when client does not send everything before the server starts to > respond, which is OK. Status=408 there. > > - cD when client stops sending data after the server starts to respond, > or if the client stops reading data, which in both case is a clear > client timeout. In both cases, the status is unaltered and nothing > is emitted since the beginning of the response was already transmitted ; > > - sH when the server does not respond, including if it stops reading the > message body (eg: process stuck). Then we have 504. > > - sD if the server stops reading or sending data during the data phase. > > The changes were a bit tricky, so any confirmation from any of you would > make me more comfortable merging them into mainline. I'm attaching these > two extra patches, please give them a try. > > Thanks, > Willy > Works beautifully. I had created a little test suite to test to test a bunch of conditions around this, and they all pass. Will see about throwing this in our development environment in the next few days if a release doesn't come out before then. Thank you much :-) -Patrick