[erlang-questions] Network partitions and Quorom

Andrew Thompson andrew@REDACTED
Thu Aug 18 18:55:42 CEST 2011


On Thu, Aug 18, 2011 at 05:29:00PM +0200, Steve Strong wrote:
> Hi,
> 
> After a lot of googling, I haven't found a clear answer to something that I'd have thought was a solved problem in the Erlang community - I've got an application that needs to run on one and only one of N potential hosts, where N is fixed.  I'm hoping that there's a standard library I can use for this, but I've not found one yet.
> 
> Currently, we are using a simple distributed app as built into the Erlang release but I don't believe this will handle network partitions in the way that I need (i.e., if node A becomes partitioned from B & C, I could end up with my app running on both A and one of B & C).
> 
> Use of gen_leader is a possibility, although I'm unclear how (if) it handles network partitions at the moment - if it does have a concept of quorum then it will be ideal, but a quick google and read of the code left me unsure if it handled partitions or not.
> 
> Any advice on either gen_leader or other options would be much appreciated.
> 

Basho recently ran into some partition tolerance issues with gen_leader
and I spent a week figuring out the cause(s). I have several patches for
gen_leader which make it *much* more resiliant in the case of
partitioned networks.

I've been meaning to publish the changes when I have a chance, let me
know if you're interested.

Andrew



More information about the erlang-questions mailing list