]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
DOC: explicitly mention the limits of abstract namespace sockets
authorWilly Tarreau <w@1wt.eu>
Mon, 7 Jul 2014 22:37:50 +0000 (00:37 +0200)
committerWilly Tarreau <w@1wt.eu>
Mon, 7 Jul 2014 23:13:35 +0000 (01:13 +0200)
Listening to an abstract namespace socket is quite convenient but
comes with some drawbacks that must be clearly understood when the
socket is being listened to by multiple processes. The trouble is
that the socket cannot be rebound if a new process attempts a soft
restart and fails, so only one of the initially bound processes
will still be bound to it, the other ones will fail to rebind. For
most situations it's not an issue but it needs to be indicated.

doc/configuration.txt

index aa55eb4d634186ff3ae1c9d671d1253a4790a2ff..1d7bc7adb6401a68008f85b9649994ed73327887 100644 (file)
@@ -1800,7 +1800,13 @@ bind /<path> [, ...] [param*]
                     - 'ipv4@'  -> address is always IPv4
                     - 'ipv6@'  -> address is always IPv6
                     - 'unix@'  -> address is a path to a local unix socket
-                    - 'abns@'  -> address is in abstract namespace (Linux only)
+                    - 'abns@'  -> address is in abstract namespace (Linux only).
+                      Note: since abstract sockets are not "rebindable", they
+                            do not cope well with multi-process mode during
+                            soft-restart, so it is better to avoid them if
+                            nbproc is greater than 1. The effect is that if the
+                            new process fails to start, only one of the old ones
+                            will be able to rebind to the socket.
                     - 'fd@<n>' -> use file descriptor <n> inherited from the
                       parent. The fd must be bound and may or may not already
                       be listening.