swift/doc/manpages
Darrell Bishop 1107f24179 Seamlessly reload servers with SIGUSR1
Swift servers can now be seamlessly reloaded by sending them a SIGUSR1
(instead of a SIGHUP).  The server forks off a synchronized child to
wait to close the old listen socket(s) until the new server has started
up and bound its listen socket(s).  The new server is exec'ed from the
old one so its PID doesn't change.  This makes Systemd happier, so a
ReloadExec= stanza can now be used.

The seamless part means that incoming connections will alwyas get
accepted either by the old server or the new one.  This eliminates
client-perceived "downtime" during server reloads, while allowing the
server to fully reload, re-reading configuration, becoming a fresh
Python interpreter instance, etc.  The SO_REUSEPORT socket option has
already been getting used, so nothing had to change there.

This patch also includes a non-invasive fix for a current eventlet bug;
see https://github.com/eventlet/eventlet/pull/590
That bug prevents a SIGHUP "reload" from properly servicing existing
requests before old worker processes close sockets and exit.  The
existing probtests missed this, but the new ones, in this patch, caught
it.

New probe tests cover both old SIGHUP "reload" behavior as well as the
new SIGUSR1 seamless reload behavior.

Change-Id: I3e5229d2fb04be67e53533ff65b0870038accbb7
2019-11-07 10:15:26 -08:00
..
account-server.conf.5 Adding keep_idle config value to socket 2018-09-15 01:30:53 +02:00
container-reconciler.conf.5 Added the man page for container-reconciler.conf 2017-10-27 08:43:43 +00:00
container-server.conf.5 Adding keep_idle config value to socket 2018-09-15 01:30:53 +02:00
container-sync-realms.conf.5 Add example to container-sync-realms.conf.5 man page 2017-10-09 10:07:20 +01:00
dispersion.conf.5 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
object-expirer.conf.5 Add request_tries option to object-expirer.conf-sample 2018-01-15 15:29:11 +00:00
object-server.conf.5 Enable to configure object-expirer in object-server.conf 2019-05-04 15:45:02 +00:00
proxy-server.conf.5 Update auth_url in install docs 2019-07-11 15:03:16 +08:00
swift-account-audit.1 Replace SOSO auth prefix in examples with more-standard AUTH 2017-09-27 23:49:59 +00:00
swift-account-auditor.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-account-info.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-account-reaper.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-account-replicator.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-account-server.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-config.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-container-auditor.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-container-info.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-container-reconciler.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-container-replicator.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-container-server.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-container-sync.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-container-updater.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-dispersion-populate.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-dispersion-report.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-drive-audit.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-form-signature.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-get-nodes.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-init.1 Seamlessly reload servers with SIGUSR1 2019-11-07 10:15:26 -08:00
swift-object-auditor.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-object-expirer.1 Enable to configure object-expirer in object-server.conf 2019-05-04 15:45:02 +00:00
swift-object-info.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-object-reconstructor.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-object-relinker.1 Replace Chinese quotes with English quotes 2018-09-15 03:20:24 -04:00
swift-object-replicator.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-object-server.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-object-updater.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-oldies.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-orphans.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-proxy-server.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-recon-cron.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-recon.1 fixed a manpage and added the manpage syntax checker to pep8 jobs 2018-09-15 10:31:49 -06:00
swift-reconciler-enqueue.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-ring-builder-analyzer.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-ring-builder.1 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00
swift-ring-composer.1 Experimental swift-ring-composer CLI to build composite rings 2018-06-14 09:50:55 +01:00
swift.conf.5 doc migration: update the doc link address[1/3] 2017-09-05 19:13:47 +00:00