Hi,

On Mon, Feb 04, 2019 at 04:05:15PM +0000, Juan Pablo Mora wrote:
> 
> During a period of slowness of my database I see this log (HAProxy 1.7.5):
> 
> 
> Feb  4 11:09:30 localhost.localdomain haproxy[23601]: 185.198.176.21:41987 
> [04/Feb/2019:11:09:12.408] WWW BUS/BUS2 9/8785/2/8860/17657 200 596 8453 - - 
> cQ-- 528/236/37/14/0 0/9 {|3701F3DB6BBF1DAC} {|RESULT_OK_HEADER} "POST 
> /Service HTTP/1.1" TLSv1
> 
> 
> My timeouts configs are:
> 
> defaults
>         timeout connect               4s
>         timeout client                5s
>         timeout server                30m
>         timeout http-request          10s
>         timeout http-keep-alive        3s
> 
> backend BUSINCOMING
>         option forwardfor
> 
>         timeout connect               5s
>         timeout server                2m
>         timeout queue                 30s
> 
>         http-request deny if { hdr_cnt(content-length) gt 0 } { 
> hdr_val(content-length) gt 31457280 } # 30M
> 
>        server BUS1  po_emi_0:18001  maxconn 15
>        server BUS2  ix_emi_0:18001  maxconn 15
> 
> The request ends with 200, request and response headers was captured.  If it
> was a timeout client, Why isn't there a -1 in some timer?  And how the "Q"
> termination state can be explained?

I think you've met a corner case here. The client timeout has probably
triggered during the upload but the request was already in the queue and
was sent as is and processed by the server. But the most likely cause is
that in fact the request was complete, the client timeout should have been
disabled but it wasn't and it triggerred while the request was waiting in
the queue.

How does it behave on more up to date versions ? (this one is missing
many fixes).

Thanks,
Willy

Reply via email to