Thank you, Willy.

We'll update the version as soon as possible and test if the behavior is the 
same. 

To understand it well, is compatible a result 200 by the server with a state 
"Q" in logs ?

Best regards


-----Mensaje original-----
De: Willy Tarreau <w...@1wt.eu> 
Enviado el: lunes, 4 de febrero de 2019 18:48
Para: Juan Pablo Mora <juanpablo.m...@logalty.com>
CC: haproxy@formilux.org
Asunto: Re: cQ-- termination state doubts

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