<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
On 07/11/2012 10:24 AM, Tim Watson wrote:
<blockquote cite="mid:4FFD4666.8070602@vmware.com" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<br>
AFAIK it is possible for MNesia to heal itself after a netsplit,
and therefore getting nodes to rejoin a cluster might work without
intervention, possibly depending on what has happened
independently on the two 'halves' of the split in the intervening
time period. What I would not expect to happen (though I could be
wrong here!) is for two distinct GM rings to join up and become
one, promoting a new master or demoting an existing one, the
latter behaviour being undefined (i.e., not implemented) AFAICT.<br>
<br>
When a node rejoins a cluster, mnesia needs to reconcile the
differences and I would expect to see mnesia fail when trying to
rejoin the cluster if the (Erlang) process ID for the master was
different between the two nodes.<br>
<br>
</blockquote>
<br>
And I should probably have pointed out that the message store is
independent from mnesia as well, and I'm pretty certain that if
these got out of synch somehow then you'd be in trouble. Currently
what happens when a node joins a cluster and needs to become a slave
(in the HA sense) is that the mirror queue coordinator ensures that
messages are forwarded to that node until its message queue length
is the same as that of the master, at which point it is considered
'in-sync' with the master.<br>
</body>
</html>