HAProxy community

Does hard-stop-after apply to old processes?

I added hard-stop-after to my configuration

global
  hard-stop-after 200s

but after 10 minutes since reload there is still 3 old processes running.

/system.slice/haproxy.service
├─ 1731 /usr/sbin/haproxy -Ws -f /etc/haproxy/conf.d -p /run/haproxy.pid -S /run/haproxy-master.sock -sf 16182 6320 -x /run/haproxy/admin.sock
├─ 6320 /usr/sbin/haproxy -Ws -f /etc/haproxy/conf.d -p /run/haproxy.pid -S /run/haproxy-master.sock -sf 12110 23479 -x /run/haproxy/admin.sock
├─16182 /usr/sbin/haproxy -Ws -f /etc/haproxy/conf.d -p /run/haproxy.pid -S /run/haproxy-master.sock -sf 6320 -x /run/haproxy/admin.sock
└─19335 /usr/sbin/haproxy -Ws -f /etc/haproxy/conf.d -p /run/haproxy.pid -S /run/haproxy-master.sock -sf 16182 6320 -x /run/haproxy/admin.sock

I can only guess one option - old processes does not get new config so this parameter does not apply to them. But on the other side that’s a global level parameter so I expect that master process will do what’s required - terminate old processes.

A new configuration affects the new process, there is no reconfiguring the old processes.

The master process is not involved in hard-stop-after. Master - worker is just one of the modes haproxy can run, and hard-stop-after needs to work in all of those modes. It’s the process itself which does this.

Thanks for clarification.