Welcome! Log In Create A New Profile

Advanced

haproxy-1.8.8 seamless reloads failing with [email protected] sockets

Posted by Jarno Huuskonen 
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 ipv4@127.0.0.1:8080
server test_abns_server [email protected] send-proxy-v2

frontend test_abns
bind [email protected] 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
Sorry, only registered users may post in this forum.

Click here to login