Gentoo Archives: gentoo-user

From: "Canek Peláez Valdés" <caneko@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Debian just voted in systemd for default init system in jessie
Date: Sat, 22 Feb 2014 17:51:11
Message-Id: CADPrc80KYNddAmJav=AhUGFqQoa3HHCS26US38mvuAKrVYo18w@mail.gmail.com
In Reply to: Re: [gentoo-user] Debian just voted in systemd for default init system in jessie by Andrew Savchenko
1 On Sat, Feb 22, 2014 at 9:28 AM, Andrew Savchenko <bircoph@×××××.com> wrote:
2 [snip]
3 > And here we have a design issue. I already pointed this issue in this
4 > discussion:
5 > http://www.mail-archive.com/gentoo-user@l.g.o/msg144144.html
6 > Though it was completely ignored by you. I understand: it is easier
7 > to discuss design in terms of taste than in technical merits.
8
9 I'm sorry, I was not part of that particular subthread. You are wrong
10 anyway (see below)
11
12 > Systemd assumes that time required to start service is small (at
13 > microseconds scale). While this is true for widely used simple
14 > setups, this is not true in general case. Service may take seconds or
15 > even minutes to start up (good example are services depending on
16 > enterprise SAN or large databases).
17
18 Yeah; and systemd needs not to worry about that. The clients
19 connecting have to. Set the clients to wait a reasonable time, and
20 then everybody is happy.
21
22 > And because systemd never assumes
23 > it can take long time to start we have the following issues possible
24 > in general case:
25 >
26 > 1. Client connections are lost due to timeout when service takes
27 > long time to start. Systemd fakes service to be available while it
28 > isn't still. Thus systemd is not an option for production grade
29 > servers.
30
31 Again, you can configure that on the clients.
32
33 > 2. Even if connection timeout is not reached, requests may pale up and
34 > be lost. Loss trigger depends on memory available, thus systemd is
35 > not an option for both embedded setups and production server setups.
36
37 You realize that if it's embedded, it makes no sense that it receives
38 the godzillion connections necessary for the kernel queue to fill up?
39 And on big iron, you can define the size of the queue; in the kernel,
40 again, this has nothing to do with systemd. You don't even need to
41 recompile your kernel.
42
43 > As one can see, while systemd socket activation design will work for
44 > many case,
45
46 Glad to see you at least recognize this; but it can work for all
47 cases. It doesn't have to, though (see below).
48
49 > it will fail for corner ones and by no means can't be used
50 > in production (where this corner cases have a high chance to rise).
51
52 You evidently have no idea what are you talking about.
53
54 First of all, as I said, the "problems" you mention are not problems
55 at all, since slow starting services, by definition, have clients that
56 need to cope with the slow starting (and if they don't, it's a bug in
57 the clients); and because either you are embedded, and therefore you
58 don't expect a godzillion connections, or you are medium size or big
59 iron, and you set your queue size with a kernel knob to be as large as
60 necessary.
61
62 And secondly, even if those problems were real (which they are not),
63 socket activation *IS OPTIONAL*. It's a feature that systemd supports,
64 *if the admin wants to use it*. If you are in a corner case and you
65 cannot change the timeout of your clients (because they are
66 proprietary, for example), or you are constrained by memory (if you
67 are embedded but anyhow want to handle gracefully a godzillion
68 connections), THEN YOU DON'T USE SOCKET ACTIVATION.
69
70 "Problem" solved.
71
72 If you are *really* interested in learning about the advantages of
73 socket activation, read [1]. However, I'm sure that you will not, as
74 time and again in this thread you only have show that you are not even
75 willing to do your homework before you start ranting against systemd;
76 just like you did when you said that libsystemd.so was used in PID 1
77 [2] (which, of course, you conveniently ignored although I replied
78 specifically to you).
79
80 Therefore, I'm not going to waste more of my time arguing with someone
81 who doesn't even read the proper documentation.
82
83 I'm done with you in this thread.
84
85 Regards.
86
87 [1] http://0pointer.de/blog/projects/socket-activation.html
88 [2] http://article.gmane.org/gmane.linux.gentoo.user/272840
89 --
90 Canek Peláez Valdés
91 Posgrado en Ciencia e Ingeniería de la Computación
92 Universidad Nacional Autónoma de México