[erlang-questions] RFC: mnesia majority checking

Ulf Wiger ulf.wiger@REDACTED
Sat Dec 11 12:38:56 CET 2010

On 11 Dec 2010, at 12:26, Ulf Wiger wrote:

> OTOH, this worked:
> - start mnesia on N1 with a disk schema
> - start N2 with {extra_db_nodes,[N1]}
> - run mnesia:change_table_copy_type(schema,N2,disc_copies)
> - start N3 the same way
> - kill N1
> - change N3's schema to disc_copies
> And after this, I was able to add a replica for a table on N3, even 
> though it had a replica on N1 and N1 was down. So it is not 
> entirely clear under which conditions mnesia decides to be conservative
> about schema changes, and why.
> (BTW, once I started N1 again, mnesia dumped core due to a combine
> error, so it would seem as if some conservatism is well warranted. :)

Oh, I forgot to mention that after having added the (ram_copies) replica
on N3, I started N1 again, then stopped N1, then went in on N3 and 
changed its copy to disc_copies. I believe this is what caused the 
problem, because the schema merge effectively instructed N1 to 
create both a ram copy and a disc copy for N3 on the same table - and 
this is not allowed.

I guess it's possible to spin this into an argument for majority checking
on mnesia ops and subsequent merges. :)


Ulf Wiger, CTO, Erlang Solutions, Ltd.

More information about the erlang-questions mailing list