[erlang-questions] distributed application sync_nodes_mandatory circular dependency

db masterofquestions@REDACTED
Sat Apr 26 01:24:30 CEST 2008


I am trying to setup distributed application on multiple erlang nodes
so that when one node goes down, control of the application then moved
to another node. What would the config file for node B and C look like
so that possibility to handle node down/rejoin situation?

According OTP documentation,http://erlang.org/doc/design_principles/part_frame.html,
section 9.2, where it mentions the following setup for distributed
application.  Content of node A config file, a.config is:

[{kernel,
  [{distributed, [{myapp, 5000, [a@REDACTED, {b@REDACTED, c@REDACTED}]}]},
   {sync_nodes_mandatory, [b@REDACTED, c@REDACTED]},
   {sync_nodes_timeout, 5000}
  ]
 }
].

Content of node B, config file, b.config is:
[{kernel,
  [{distributed, [{myapp, 5000, [b@REDACTED, {a@REDACTED, c@REDACTED}]}]},
   {sync_nodes_mandatory, [b@REDACTED, a@REDACTED]},
   {sync_nodes_timeout, 5000}
  ]
 }
].

Content of node C, config file, c.config is:

[{kernel,
  [{distributed, [{myapp, 5000, [c@REDACTED, {a@REDACTED, b@REDACTED}]}]},
   {sync_nodes_mandatory, [a@REDACTED, b@REDACTED]},
   {sync_nodes_timeout, 5000}
  ]
 }
].

I tried starting the nodes manually, meaning I can do one node at a
time.  Starting node A without starting node B or C won't work.
Basically, we have circular dependency.

-- 
rk

That which we persist in doing becomes easier for us to do; not that
the nature of the thing itself is changed, but that our power to do is
increased.
-Ralph Waldo Emerson



More information about the erlang-questions mailing list