*From: *Willy Tarreau <w...@1wt.eu> *Sent: * 2014-05-06 17:41:18 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, > > I might have fixed half of the issue, I'd like you to test the attached patch. > It ensures that the client-side timeout is only disabled after transmitting > the whole body and not during the transmission. It will report "cD" in the > flags, but does not affect the status code yet. It does not abort when the > client timeout strikes, but still when the server timeout strikes, which is > another tricky thing to do properly. That's why I would be happy if you could > at least confirm that you correctly get cD or sH (or even sD) depending on > who times out first. > > Thanks, > Willy > So good news, bad news, and strange news. The good news: It is reporting "cD--" as it should The bad news: It's not reporting any return status at all. Before it would log 504 and send a 504 response back. Now it logs "-1" and doesn't send anything back. It's just closing the connection. The strange news: Contrary to your statement, the client connection is closed after the 1 second timeout. It even logs this. The only thing that doesn't happen properly is the absence of any response. Just immediate connection close. Before patch: haproxy[26318]: 127.0.0.1:51995 [06/May/2014:18:55:33.002] f1 b1/s1 0/0/0/-1/2001 504 194 - - sH-- 0/0/0/0/0 0/0 "GET / HTTP/1.1" After patch: haproxy[27216]: 127.0.0.1:52027 [06/May/2014:18:56:34.165] f1 b1/s1 0/0/0/-1/1002 -1 0 - - cD-- 0/0/0/0/0 0/0 "GET / HTTP/1.1" -Patrick