mnesia replication (Are there checksums?)

Francesco Cesarini (Erlang Training & Consulting) francesco@REDACTED
Mon Sep 5 20:31:11 CEST 2005


Hakan Mattsson wrote:
> On Thu, 1 Sep 2005, Francesco Cesarini (Erlang Training & Consulting) wrote:
> 
> FC> I am amazed we never came across this bug (ok, feature :-) ) before. I
> FC> would have expected an alarm to be generated as soon as the databases
> FC> became inconsistent. I guess a way to come around the problem is to hash
> FC> the dirty writes across the nodes based on the key.
> FC> 
> FC> How hard would it be to add a checksum to each table? It should not
> FC> generate any major overheads... The subject had been discussed, but
> FC> probably before you took over the reins.
> 
> So you was involved with Mnesia internals before 1996
> and still don't know the semantics of dirty access? ;-)

We've always serialized the writes in a process, and when using multiple 
nodes, hashed the writes based on the key... I know the semantics pretty 
well, but do admit I got taken by surprise that one could end up in an 
inconsistent state without partitioned networks. Yet another aspect of 
concurrency. It is one of those things you think is handled behind the 
scenes. With a checksum mismatch, all you would do is reload a table 
based on a master node.

Halsningar,
Francesco
--
http://www.erlang-consulting.com




More information about the erlang-questions mailing list