Re: taxonomy of dependencies

From: Jonathan de Boyne Pollard <>
Date: Mon, 08 Jun 2015 19:52:23 +0100

> I still remain convinced that crash-only software was a key insight of
> Erlang, engineering systems so that restarts to a known good state is
> feasible in of itself because components are discrete and trying to
> intervene on internal program state becomes an exponential nightmare.

As someone who designs abort-and-restart-clean into systems, I would
agree ... were it not for my own direct experiences with RabbitMQ
server. (-:

Perhaps it's not Erlang's greatest advertisement. Of course, being fair
I note that the hidden internal Erlang "processes" probably were
crashing quite happily. But the UNIX process in one particular
experience couldn't be persuaded to. The thing would not shut down.

> NetworkState is defined as any non-loopback device having an IP(v4/v6)
> address assigned to it, [...]

I suspect that the reality is more complex than the doco, here.
Link-local addresses complicate such criteria. And that's just for

> This might have been useful in your scenario, [...]

Not really. The thorny question of "What do you clearly and precisely
mean by '$networking is up'?" wasn't the problem, fortunately. The
problem was the surprising behaviour of the GNU libc DNS client library
over a loopback interface, when the system generates those ICMP
unreachable responses *immediately*.
Received on Mon Jun 08 2015 - 18:52:23 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC