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