[erlang-questions] Fishing for best practices: distributed twin processes!

Robert Virding <>
Sun Sep 16 23:03:27 CEST 2012


The dying VM will of course not send anything, it's dead. Your node, however, knows of all the links and monitors its processes has with other nodes. It will detect that it has lost contact with the other node and and then send the exit signals and monitor information to its local processes. This may take some time before it happens. 

Robert 

----- Original Message -----

> From: "Max Bourinov" <>
> To: "Torben Hoffmann" <>
> Cc: "Erlang" <>, "Roberto Ostinelli"
> <>
> Sent: Saturday, 15 September, 2012 8:46:08 AM
> Subject: Re: [erlang-questions] Fishing for best practices:
> distributed twin processes!

> I afraid that in same cases dying VM won't send anything. Additional
> technique that might help in this situation is a watchdog process,
> but it bring another level of abstraction/complexity.

> In our project we also need to monitor distributed systems and we
> will implement watchdogs.

> Sent from my iPad

> On 15.09.2012, at 10:21, Torben Hoffmann <  >
> wrote:

> > Hi Roberto,
> 

> > Try contacting Laura Castro from Uni of Coruña who presented at the
> > Erlang Workshop 2012 yesterday regarding handling of netsplits and
> > node crashes.
> 
> > Their team had to go through some investigations before they got
> > the
> > resilience they had promised the customer!
> 

> > The big question for you will actually be what to do when the
> > layers
> > thinks that the other node is down - will you assume a net split
> > and
> > buffer communication (if that is feasible for your application)? Or
> > will you assume node down and do a major clean-up?
> 

> > Cheers,
> 
> > ___
> 
> > /orben
> 

> > On 2012-09-15 03:46, Roberto Ostinelli wrote:
> 

> > > hello Michael,
> > 
> 

> > > you're assuming right (separate VM), I'm familiar with links and
> > > monitors, thank you. However I doubt that any message is sent
> > > from
> > > a
> > > dying process if the VM on which it runs actually blows up. That
> > > was
> > > my point.
> > 
> 

> > > r.
> > 
> 

> > > On Fri, Sep 14, 2012 at 3:47 PM, Michael Truog <
> > > 
> > > >
> > > wrote:
> > 
> 

> > > > Assuming you have the 2 layers in separate Erlang VMs. You can
> > > > have
> > > > the Erlang VMs connected with distributed Erlang, and have the
> > > > twin
> > > > processes monitoring each other. If you wanted a simple process
> > > > death if either died, you could consider using a link instead
> > > > of
> > > > 2
> > > > monitors. However, that seems like the simplest solution, to
> > > > avoid
> > > > unnecessary complexity. You might find strangeness if you start
> > > > not
> > > > using the default net tick time (i.e., with a process link
> > > > inbetween
> > > > nodes), with distributed Erlang, but you probably know it is
> > > > best
> > > > to
> > > > not play with that.
> > > 
> > 
> 

> > > _______________________________________________
> > 
> 
> > > erlang-questions mailing list 
> > > http://erlang.org/mailman/listinfo/erlang-questions
> > 
> 
> > -- http://www.linkedin.com/in/torbenhoffmann
> 
> > _______________________________________________
> 
> > erlang-questions mailing list
> 
> > 
> 
> > http://erlang.org/mailman/listinfo/erlang-questions
> 

> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120916/d9a46601/attachment.html>


More information about the erlang-questions mailing list