[erlang-questions] failures in supervised processes

Magnus Klaar <>
Sat Oct 8 17:40:54 CEST 2011


>
>
> So it sounds like there is an active connection/session maintained.  Is it
> kept in check with an occasional heartbeat if there is no activity?
>
> Thanks,
> Tim
>

Correct, a session is associated with each connection in an erlang cluster.
A heartbeat/keepalive mechanism is used to detect disconnected/locked nodes.
If a node shuts down cleanly the connection is torn down immediately. If you
want to dig into the defaults and configuration options the documentation
for the kernel application is a good start.

It's worth noting that erlang supports additional mechanisms for timeouts.
The client libraries for the built in behaviors all use a shorter timeout
for request-response interactions by default. The erlang:send_after and
erlang:start_timer function and receive ... after MS -> .. end expressions
are useful primitives to accomplish the same thing. It isn't necessarily
very important where an unresponsive process is located if the
unresponsiveness is generating timeout errors further down in the
supervision tree.

MVH Magnus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20111008/32c4a636/attachment.html>


More information about the erlang-questions mailing list