[erlang-questions] Reconnect to nodes

Serge Aleynikov serge@REDACTED
Fri Apr 22 12:35:56 CEST 2016


Roberto,

This is the expected behavior. Note that the nodes will automatically
reconnect by default when either node has a process that sends a message to
a process on the remote node.  This reconnection behavior can be modified
by setting the kernel's 'dist_auto_connect' option.

Other applications (such as mnesia) may require custom recovery from a
network split, which is one of the reasons why automatic reconnection may
not be desirable.

Regards,

Serge

On Fri, Apr 22, 2016 at 5:39 AM, Roberto Ostinelli <roberto@REDACTED>
wrote:

> Dear list,
> A simple question: am I correct that, when a node is removed because of a
> net split, you need to have your own application logic to reconnect to it,
> and nothing in the VM will try doing that for you?
>
> Let me show you an example. I have two nodes: 1@REDACTED and 2@REDACTED
> that are connected to each other:
>
> (1@REDACTED)1> nodes().
> ['2@REDACTED']
>
> On node 2 I listen for nodedown events of node 1:
>
> (2@REDACTED)1> monitor_node('1@REDACTED', true).
> true
>
> On node 1, I simulate a net splits with the best option I've found until
> now, i.e suspending the net_kernel process:
>
> (1@REDACTED)2> sys:suspend(net_kernel).
> ok
>
> After ~60 seconds on node 2 I get:
>
> =ERROR REPORT==== 22-Apr-2016::11:28:21 ===
> ** Node '1@REDACTED' not responding **
> ** Removing (timedout) connection **
> (2@REDACTED)2> flush().
> Shell got {nodedown,'1@REDACTED'}
>
> Now the two nodes are disconnected:
>
> (1@REDACTED)3> nodes().
> []
>
> (2@REDACTED)3> nodes().
> []
>
> Even when I resume the net_kernel process:
>
> (1@REDACTED)4> sys:resume(net_kernel).
> ok
>
> The nodes do not reconnect:
>
> (1@REDACTED)5> nodes().
> []
>
> I'm ok with this, though I would like to confirm that my understanding is
> correct.
> If so, does everyone just implement some standard connection manager that
> does only reconnections?
>
> Thank you,
> r.
>
>
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160422/480a1b27/attachment.htm>


More information about the erlang-questions mailing list