Resource Sharing Between production and test environment
Fri Aug 1 00:13:58 CEST 2003
global use gen_server:multi_call/3 to set_lock on all connected
nodes. note that this is with infinite timeout.
each individual call per node will however be aborted if the
node goes down and set_lock may be restarted.
the worst thing that can happen to an erlang node is that the
beam scheduler stops scheduling. the tcp/ip connection will still
appear to be up but it will obviously not respond to requests.
depending on how you set the kernel ping this may lead to a
long time before a node down event is delivered.
this would happen if you for example hit a break point in gdb if
you are debugging the evm. an even easier way to get the same
result is to suspend (^Z) a node run interactively.
this will effect mnesia and any distributed application (i.e. using
> Per Bergqvist <> writes:
> > You should absolutely not attempt to solve the problem with
> > distributed erlang since it may potentially severely impact the
> > production system. (e.g. gdb debugging a node in the test system
> > could potentially stall global locking on all other connected
> > nodes.)
> Could you explain a little more what might cause global locking to
> stall, and what parts of OTP are affected?
> You don't need gdb to take a node offline at an inopportune moment.
Synapse Systems AB
Phone: +46 709 686 685
More information about the erlang-questions