> Did you try the seamless reload using -x without the master-worker? I was looking into the "-x" option and it looks like simply adding "expose-fd listeners" to my stats socket has fixed this issue for me. Sending SIGUSR2 to the master process now works as expected. Is that option required for this reload model?
> Did you try launching a new haproxy process with the -sf option, without using the master-worker? Yes, and that also failed with the same "cannot bind" error. > What is your operating system and version exactly? We are using SmartOS: # uname -a SunOS ops-dev-lb03 5.11 joyent_20170315T185612Z i86pc i386 i86pc Solaris > I think the old processes did not receive the SIGTTOU for an unknown reason, or did not unbind once it received the signal. > Maybe you could try to compare what's happening on your solaris-like system > and your ubuntu with the -dR option, using strace on linux and truss on solaris. I verified using dtrace that the worker is indeed receiving the SIGTTOU signal from the master (200 times), so the worker must not have been unbinding. Anthony ________________________________________ From: William Lallemand <[email protected]> Sent: Friday, December 8, 2017 1:54 PM To: Anthony Via Cc: [email protected] Subject: Re: Testing master-worker reloads on HAProxy 1.8 > On Wed, Dec 06, 2017 at 10:48:23PM +0000, Anthony Via wrote: > > I am testing seamless reloads on HAProxy 1.8.0 using the master-worker > > model and am running into the following when sending SIGUSR2 to the master > > process Sorry I misread, my explanation in the previous post is not correct for the seamless reload (-x + expose-fd), but only for a "classic" reload. During a seamless reload, the new process try to get the FDs of the listeners using the unix socket. Did you try the seamless reload using -x without the master-worker? -- William Lallemand

