supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
From: Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
To: "supervision@list.skarnet.org" <supervision@list.skarnet.org>
Cc: debian-devel@lists.debian.org
Subject: Is missing SysV-init support a bug?
Date: Sat, 3 Sep 2016 21:01:56 +0100	[thread overview]
Message-ID: <75b672e9-f72a-560c-afbd-7f18ef2a85f7@NTLWorld.com> (raw)
In-Reply-To: <20160901132130.747.qmail@6c3a1209216aab.315fe32.mid.smarden.org>

Gerrit Pape:

> To me too this readiness IPC ideas and implementations look 
> over-engineered.
>
> A good convention for service programs would be to functionally test 
> for services it needs very early on startup, and fail if dependencies 
> are not available. The service supervisor (any modern init scheme 
> seems to now support this) relaunches eventually, until all 
> dependencies are fulfilled.
>
The problem with the thundering herd approach is twofold. Firstly, it 
really does matter in practice when the machine has tens if not hundreds 
of client processes all continually restarting whilst they wait for 
(say) the RabbitMQ server to come up.  Secondly, these explanations 
never seem to take system shutdown into account.  In the ordered 
services world, shutdown order is the reverse of startup order, and 
things generally work. In the thundering herd world, often the theory is 
just to send terminate and kill signals willy-nilly to every service on 
the system.  This almost never works cleanly in any but the most trivial 
systems.  (People will no doubt be thinking the classic example of NFS 
mounts, here.  But there are all sorts of possibilities, from /var/ 
being unmounted before logging services are turned off to the proxy DNS 
server being turned off whilst other services are still doing DNS lookups.)

We discussed this on the Supervision mailing list last year: 
http://www.mail-archive.com/supervision%40list.skarnet.org/msg00673.html



           reply	other threads:[~2016-09-03 20:01 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <20160901132130.747.qmail@6c3a1209216aab.315fe32.mid.smarden.org>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=75b672e9-f72a-560c-afbd-7f18ef2a85f7@NTLWorld.com \
    --to=j.deboynepollard-newsgroups@ntlworld.com \
    --cc=debian-devel@lists.debian.org \
    --cc=supervision@list.skarnet.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).