From: Willy Tarreau Date: Mon, 7 Jul 2014 22:37:50 +0000 (+0200) Subject: DOC: explicitly mention the limits of abstract namespace sockets X-Git-Tag: v1.6-dev1~372 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=70f72e0c90691c72cb72306b718f785902270015;p=thirdparty%2Fhaproxy.git DOC: explicitly mention the limits of abstract namespace sockets 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. --- diff --git a/doc/configuration.txt b/doc/configuration.txt index aa55eb4d63..1d7bc7adb6 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -1800,7 +1800,13 @@ bind / [, ...] [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@' -> use file descriptor inherited from the parent. The fd must be bound and may or may not already be listening.