Distributed applications

Gunilla Hugosson gunilla@REDACTED
Thu Mar 9 13:22:25 CET 2000


Hi Sean,

You need to make sure that the nodes are synchronized using
the kernel parameters sync_nodes_mandatory, sync_nodes_optional
and sync_nodes_timeout.

And, more important, distributed applications doesn't work
if you start the applications manually from the shell using
application:start(App), you have to generate a boot script
which starts the application automatically. (I'm investigating
why this is the case, as part of the ongoing work we are doing
on release handling).

/ Gunilla

Sean Hinde wrote:
> 
> Hi all,
> 
> I have a very simple application containing a single locally registered
> gen_server which I want to make distributed in the splendidly described
> manner of Sam Tardieu for his power outages example.
> 
> I've set up the 'distributed' kernel parameter with my app name and node
> names as per the example and set the start_phases to [] in my .app file:
> 
> {distributed, [{backup, [{test1@REDACTED, {test2@REDACTED, test3@REDACTED}]}]}
> 
> All files are generated using the standard skeletons in the emacs-mode with
> 4.9.1.
> 
> If I start with nodes 2 and 3, application:start(backup) hangs on both.
> The app then starts fine on test1, but application:start(backup) remains
> hung on nodes 2 and 3.
> 
> Restarting various nodes means I can get the application fully running on
> all nodes at once, which I am not at all sure is the idea of this - is it?
> 
> Do I need to do stuff with start phases or having different behaviour in the
> application file for normal and takeover etc for this simple locally
> registered example? Something else?
> 
> Any and all help much appreciated.
> 
> Regards,
> Sean



More information about the erlang-questions mailing list