On Tue, Aug 23, 2011 at 3:08 PM, Michael Mol <mike...@gmail.com> wrote:
> On Tue, Aug 23, 2011 at 2:57 PM, Canek Peláez Valdés <can...@gmail.com> wrote:
>> On Tue, Aug 23, 2011 at 2:35 PM, Michael Mol <mike...@gmail.com> wrote:
>>> On Tue, Aug 23, 2011 at 1:49 PM, Canek Peláez Valdés <can...@gmail.com> 
>>> wrote:
>>>> On Tue, Aug 23, 2011 at 1:17 PM, Stroller
>>>>> Reading that blog entry I found discouraging the idea that dbus might be 
>>>>> required on my servers in the future, if systemd becomes popular with 
>>>>> distros.
>>>>
>>>> I don't see the problem with D-Bus. It's small (the only hard
>>>> dependency it has is an XML parser), and it provides the Linux/UNIX
>>>> (de facto) standard interprocess communication system.
>>>
>>> My chief gripe with D-Bus is that I've had X sessions disappear out
>>> from under me as a consequence of the daemon being restarted. Having a
>>> single point of failure like that is very, very scary. Otherwise, I
>>> like what it tries to do.
>>
>> Restarting or dying? If it's dying, it's a bug and should be reported.
>> I haven't had a crash in dbus in years, and I think pretty much
>> everyone agrees it's pretty stable nowadays. It even tries to handle
>> gracefully thins like out-of-memory errors and things like that.
>
> I have no doubt a stellar amount of work has been done to gracefully
> handle problem scenarios.
>
>>
>> If it's restarting, why on earth will someone restart the system bus
>> with active X sessions? If the dbus daemon is restarted, it has to
>> kick all the apps from the bus, including the session manager.
>
> Because I generally update my desktop system while running X, and on
> at least two occasions, an update killed my X session by restarting
> DBUS on me

The update don't restart D-Bus: from the dbus-1.4.14 ebuild:

elog "To start the D-Bus system-wide messagebus by default"
elog "you should add it to the default runlevel :"
elog "\`rc-update add dbus default\`"
elog
elog "Some applications require a session bus in addition to the system"
elog "bus. Please see \`man dbus-launch\` for more information."
elog
ewarn "You must restart D-Bus \`/etc/init.d/dbus restart\` to run"
ewarn "the new version of the daemon."
ewarn "Don't do this while X is running because it will restart your X as well."

Emphasising: "Don't do this while X is running because it will restart
your X as well." So I will assume something went terribly wrong when
updating, and again, if that's the case then it's a bug and should be
reported.

> On the other hand, sshd handles restarts without killing active sessions.

Because the daemon state for sshd is tiny compared with the one from
D-Bus. Apples and oranges.

> These are solvable problems which DBUS hasn't solved yet for itself.
> High-availability is one of the best-researched fields in computer
> science, but DBUS doesn't handle that case, yet.

Because it's not as easy as with systemd (which can also reexecute
preserving state) or ssh. The state that D-Bus handles can be really,
really big, because is a *generic* IPC. Not like Secure Shell, which
only handles one type of session and a very limited set of messages.

Regards.
-- 
Canek Peláez Valdés
Posgrado en Ciencia e Ingeniería de la Computación
Universidad Nacional Autónoma de México

Reply via email to