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

Joel Reymont <>
Tue Dec 2 21:40:13 CET 2008


Rick,

On Dec 2, 2008, at 8:30 PM, Rick Pettit wrote:

> (e.g. how can a bank ATM allow
> me to withdraw funds if it cannot reach its peer node(s) at my bank to
> determine the availability of such funds?).

In my scenario a bank ATM would have an internal Mnesia table with the  
balance :-). The ATM would clearly be part of a cluster of ATM,  
replicating their transactions and balances to all other ATMS in the  
cluster.

> Most systems I work with implement a recovery procedure similar to  
> what
> Ulf has posted in the past on this list.

Would you kindly post a link to that procedure in this thread, for  
easier reference?

> Because the systems I am referring to require high-availability over  
> 100%
> data consistency, this is perfectly ok (and works quite well). With  
> issues
> like telecom "glare" I couldn't be 100% accurate all the time anyway.

What's telecom glare?

> So, to recover from a partition it is enough to pick any functioning  
> node
> as the new "master" and have others restart and/or force load tables  
> from
> it. The entire time clients keep pushing new stats into the system, so
> everything "converges on reality" in the end following a recovery  
> attempt
> anyway.


I understand that Mnesia was designed for telco ops but I want to run  
my social network on top of it. I did a search before and all the  
solutions were along the lines of "I'm dealing with telco stuff or I  
can just throw that data out". I don't have such luxury and don't want  
to throw Mnesia out in favor of PostgreSQL until I absolutely have to.

	Thanks, Joel

--
http://twitter.com/wagerlabs







More information about the erlang-questions mailing list