Haproxy multiple processes after reload


#1

Hi,

We experienced this recent issue with haproxy where multiple haproxy processes were spawned after a reload. We use the following haproxy build:

HA-Proxy version 1.5-dev25-a339395 2014/05/10
Copyright 2000-2014 Willy Tarreau w@1wt.eu

Build options :
TARGET = linux26
CPU = generic
CC = gcc
CFLAGS = -m64 -march=x86-64 -O2 -g -fno-strict-aliasing
OPTIONS = USE_OPENSSL=1 USE_PCRE=1

Default settings :
maxconn = 2000, bufsize = 16384, maxrewrite = 8192, maxpollevents = 200

Encrypted password support via crypt(3): yes
Built without zlib support (USE_ZLIB not set)
Compression algorithms supported : identity
Built with OpenSSL version : OpenSSL 1.0.1e-fips 11 Feb 2013
Running on OpenSSL version : OpenSSL 1.0.1e-fips 11 Feb 2013
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports prefer-server-ciphers : yes
Built with PCRE version : 7.8 2008-09-05
PCRE library supports JIT : no (USE_PCRE_JIT not set)
Built with transparent proxy support using: IP_TRANSPARENT IP_FREEBIND

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.

We are passing the soft reset option(-sf ) during haproxy reload. Out of the blue we found multiple haproxy procs serving requests actively. We had to terminate them by manually passing SIGUSR1 signal to each of the rogue processes.

Doesn’t haproxy pass SIGUSR1 automatically while we do a reload? If no , what could be done to avoid such an issue?

–Thanks
Sarath.K


Old haproxy processes accepting new connections after reload
#2

This is a more than 2 year old development build, it is not a stable release and it is not supported.

Upgrade to latest stable 1.5 or 1.6 haproxy release.

This issue may be a bug in the ancient code you are using, or an issue with the PID file. Upgrade the code, and check for PID file issues.