I believe this is similar to our experience with:

https://www.mail-archive.com/haproxy@formilux.org/msg31645.html

Abejide Ayodele
It always seems impossible until it's done. --Nelson Mandela
On Thu, Nov 8, 2018 at 10:27 AM Nick Vatamaniuc <vatam...@gmail.com> wrote:
>
> Hello,
>
> I'd like to report an issue where sometimes PUT/POST request bodies do not 
> get proxied. Headers are sent then the backend server waits to receive the 
> body. It never arrives and after 5 minutes  the socket times out. This 
> happens in all the 1.8 releases up until 1.8.14 but it doesn't happen in 1.7. 
> In fact one of the ways we mitigate the issue is by reverting back to 1.7.
>
> Normally the requests go through without an issue. We see about 1M+ requests 
> per day. However about 5 or 10 of those end up failing as described. Is there 
> anything we can do to debug the issue further, or were there any changes that 
> might lead to this specific bug in 1.8.x?
>
> More details about our setup:
>  Lua is used on all requests
>  nbproc > 1
>  Not using threads
>  Request body sizes about 30-50KB
>
> Some config settings:
>   option http-server-close
>   option log-health-checks
>   option log-separate-errors
>   option redispatch
>   retries 4
>   timeout client 150000
>   timeout connect 5000
>   timeout queue 5000
>   timeout server 3600000
>
> $ /usr/sbin/haproxy -vv
> HA-Proxy version 1.8.14-52e4d43 2018/09/20
> Copyright 2000-2018 Willy Tarreau <wi...@haproxy.org>
>
> Build options :
>   TARGET  = linux2628
>   CPU     = generic
>   CC      = gcc
>   CFLAGS  = -m64 -march=x86-64 -O2 -g -fno-strict-aliasing 
> -Wdeclaration-after-statement -fwrapv -fno-strict-overflow -Wno-unused-label
>   OPTIONS = USE_SLZ=1 USE_REGPARM=1 USE_THREAD=1 USE_OPENSSL=1 USE_LUA=1 
> USE_SYSTEMD=1 USE_STATIC_PCRE2=1 USE_PCRE2_JIT=1 USE_TFO=1
>
> Default settings :
>   maxconn = 2000, bufsize = 16384, maxrewrite = 1024, maxpollevents = 200
>
> Built with OpenSSL version : OpenSSL 1.1.1  11 Sep 2018
> Running on OpenSSL version : OpenSSL 1.1.1  11 Sep 2018
> OpenSSL library supports TLS extensions : yes
> OpenSSL library supports SNI : yes
> OpenSSL library supports : TLSv1.0 TLSv1.1 TLSv1.2 TLSv1.3
> Built with Lua version : Lua 5.3.4
> Built with transparent proxy support using: IP_TRANSPARENT IPV6_TRANSPARENT 
> IP_FREEBIND
> Encrypted password support via crypt(3): yes
> Built with multi-threading support.
> Built with PCRE2 version : 10.31 2018-02-12
> PCRE2 library supports JIT : yes
> Built with libslz for stateless compression.
> Compression algorithms supported : identity("identity"), deflate("deflate"), 
> raw-deflate("deflate"), gzip("gzip")
> Built with network namespace support.
>
> Available polling systems :
>       epoll : pref=300,  test result OK
>        poll : pref=200,  test result OK
>      select : pref=150,  test result OK
> Total: 3 (3 usable), will use epoll.
>
> Available filters :
> [SPOE] spoe
> [COMP] compression
> [TRACE] trace
>
> Thank you
> -Nick Vatamaniuc

Reply via email to