mnesia replication (Are there checksums?)
Francesco Cesarini (Erlang Training & Consulting)
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> 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.
More information about the erlang-questions