[erlang-questions] auto-syncing mnesia after a network split

Jim McCoy jim.mccoy@REDACTED
Tue Dec 9 00:39:52 CET 2008


On Mon, Dec 8, 2008 at 1:07 PM, Claes Wikström <klacke@REDACTED> wrote:
> Jim McCoy wrote:
>
>>
>> Consistence, availability, partition-tolerance: pick two.
>>[...]
>
> I'm not wrong if instead of choosing Consistence, availability
> I choose availability, partition-tolerance

My bad. I had probably missed a point and sort of assumed we were
talking about maintaining the current set of properties.  I am a big
fan of eventual consistency, but it seems to me that this pushes a lot
of the responsibility for conflict resolution back to the DB client --
not necessarily bad, but something that probably would have probably
made mnesia even less accessible than it currently is to the casual
programmer.

>> would be to add some complexity on the mechanics of the join mechanism
>> (e.g. a quorum system like paxos to decide membership and agreement
>
>
> A lot of the mnesia clusters only have 2 nodes - thus making
> quorums a no-goer. typical HA telcoms chassis systems have exactly
> two management blades.

Two is just a special-case of N.  If you wanted a practical solution
for 2 nodes or any even number of nodes you could elect a leader at
each membership change (systems like paxos require the existence of
such a leader even if they do nothing more than initiate the voting
protocol) and declare that a partition with half the nodes that
included the previous leader could continue writing.

jim



More information about the erlang-questions mailing list