[erlang-questions] Mnesia: inconsistent views without netsplit?

Daniel Dormont dan@REDACTED
Tue Apr 26 21:30:37 CEST 2016


Hi all,

I have a three node Mnesia cluster (hosting a somewhat outdated
version of ejabberd, but I'm not sure that matters). I have a table
that is stored as ram_copies on all three nodes. Yet, this table has
differing numbers of records among the three.

The table info from one of them is pasted below. Running the same
query on one of my other nodes, I get more or less the same result,
but the "size" is very different: 553 vs 867. And indeed, there are
individual records that turn up in a mnesia:read/2 or
mnesia:dirty_read/2 on one node and not the other.

Yet, nothing in my log indicates that there was ever a netsplit or
disconnection. So I have two questions:

1) What might cause this? and
2) Is there any way, especially given I know which records are
affected, to force some kind of replication on this table without
completely restarting one of the nodes?

thanks,
Dan Dormont


[{access_mode,read_write},
 {active_replicas,['ejabberd@REDACTED',
                   'ejabberd@REDACTED',
                   'ejabberd@REDACTED']},
 {all_nodes,['ejabberd@REDACTED',
             'ejabberd@REDACTED',
             'ejabberd@REDACTED']},
 {arity,3},
 {attributes,[name_host,pid]},
 {checkpoints,[]},
 {commit_work,[]},
 {cookie,{{1341,344810,207763},'ejabberd@REDACTED'}},
 {cstruct,{cstruct,muc_online_room,set,
                   ['ejabberd@REDACTED',
                    'ejabberd@REDACTED',
                    'ejabberd@REDACTED'],
                   [],[],0,read_write,false,[],[],false,muc_online_room,
                   [name_host,pid],
                   [],[],[],{...},...}},
 {disc_copies,[]},
 {disc_only_copies,[]},
 {frag_properties,[]},
 {index,[]},
 {load_by_force,false},
 {load_node,'ejabberd@REDACTED'},
 {load_order,0},
 {load_reason,{active_remote,'ejabberd@REDACTED'}},
 {local_content,false},
 {majority,false},
 {master_nodes,[]},
 {memory,73643},
 {ram_copies,['ejabberd@REDACTED',
              'ejabberd@REDACTED',
              'ejabberd@REDACTED']},
 {record_name,muc_online_room},
 {record_validation,{muc_online_room,3,set}},
 {type,set},
 {size,867},
 {snmp,[]},
 {storage_properties,...},
 {...}|...]



More information about the erlang-questions mailing list