[erlang-questions] Removing mnesia cluster node while mnesia is offline

Francesco Mazzoli <>
Tue Jul 3 14:12:49 CEST 2012


Hi Rudolph,
At Tue, 03 Jul 2012 12:31:11 +0100,
Rudolph van Graan wrote:
> You have to set things up so that you have other replicas of those
> tables on other nodes.

Well, some data is inherently "local" and not relevant to the other
nodes, that have similar local tables.

> This is not how mnesia works. The list of nodes in the distributed
> database is static, i.e. all the nodes have the same list. This is
> why all of them needs to be online when you add or remove nodes.

I understand this, but I still want to know if it's possible to
recover from that situation more or less gracefully.

> The only problem that you need to solve is dealing with partitioning
> (i.e. splits) and you have two sets of data on two different
> segments. It is not possible for a node to "pollute" other nodes.

OK, let's say that I have node A, B, and C, in a cluster. A goes down,
and C gets removed from the cluster. So B now has [A, B] in the schema
as cluster nodes. A's data still has [A, B, C] as cluster nodes, and
if we start A again, that will be propagated to B. That's what I meant
with "pollute".

> So "... offline node still thinks it is clustered..." - it doesn't
> just think so, it has been configured so when you added it into the
> cluster. It will stay part of the cluster until you remove it.

...but to remove it I have to bring it online, and if the other online
nodes have a different configuration, things get ugly.

--
Francesco * Often in error, never in doubt



More information about the erlang-questions mailing list