Hi,
I'm testing 1.8.8(1.8.8-52ec357 snapshot) and seamless reloads
(expose-fd listeners).
I'm testing with this config (missing some default timeouts):
----------------------8<----------------
global
stats socket /tmp/stats level admin expose-fd listeners
defaults
mode http
log global
option httplog
retries 2
timeout connect 1500ms
timeout client 10s
timeout server 10s
listen testme
bind [email protected]:8080
server test_abns_server abns@wpproc1 send-proxy-v2
frontend test_abns
bind abns@wpproc1 accept-proxy
http-request deny deny_status 200
----------------------8<----------------
Reloads (kill -USR2 $(cat /tmp/haproxy.pid)) are failing:
"Starting frontend test_abns: cannot listen to socket []"
(And request to 127.0.0.1:8080 timeout).
I guess the problem is that on reload, haproxy is trying
to bind the abns socket again, because (proto_uxst.c) uxst_bind_listener /
uxst_find_compatible_fd doesn't find existing (the one copied over from
old process) file descriptor for this abns socket.
Is uxst_find_compatible_fd only looking for <sockname>.XXXXX.tmp sockets
and ignoring abns sockets where path starts with \0 ?
Using unix socket instead of abns socket makes the reload work.
-Jarno
--
Jarno Huuskonen