Just to give a little more information:<div><br></div><div>I tried creating a new node from scratch to join my cluster. I said</div><div><br></div><div><div>erl -name new_node@B -s mnesia -mnesia dir '"/var/lib/ejabberd"' -mnesia extra_db_nodes "['ejabberd@A']"</div>
<div><br></div><div>and that seemed to load successfully. I then did the usual </div><div><br></div><div>mnesia:add_table_copy(schema, node(), disc_copies).</div><div><br></div><div>and got the error: {aborted,{already_exists,schema,'new_node@B'}}</div>
<div><br></div><div>What would cause that? Does this mean the schema on A is permanently hosed in some way and I need to wipe it and recreate?</div><div><br></div><div>dan</div><br><div class="gmail_quote">On Thu, Jun 28, 2012 at 3:40 PM, Daniel Dormont <span dir="ltr"><<a href="mailto:dan@greywallsoftware.com" target="_blank">dan@greywallsoftware.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Here is the scenario that happened to me as best I can tell. I had two nodes in a cluster, let's call them A and B. B became unavailable for a while and got rebooted. When I tried to start it again, things seem to work except that certain tables seem not to exist any more. As far as I can tell, these tables used to be enabled only on B and not A, and are now in some sort of weird hybrid unavailable state.<br>

<div><br></div><div>A is still running fine in production even with these tables missing, but I can't seem to get a clean start of my application (Ejabberd) on B. So what I figured I would do would be just start a fresh node on B, start Mnesia, add extra_db_nodes pointing to A and go from there. But the problem is A still thinks these certain tables exist only on B (they are listed as remote on A). Fortunately, Ejabberd is smart enough to create any tables it needs on startup, so I was thinking a clean start on B would do this. So I went into A and ran</div>

<div><br></div><div>mnesia:del_table_copy(schema, B).</div><div><br></div><div>thinking this would make the remote tables sort of go away. But instead it fails with</div><div><br></div><div><div>{aborted,{no_exists,vcard_search}}</div>

</div><div><br></div><div>And trying to delete the table directly yields the same result.</div><div><br></div><div>Is there a way I can force Mnesia on A to completely forget about a set of remote tables (and, for that matter, the node that was supposed to store them) before I bring a new node online?</div>

<div><br></div><div>Dan</div><div><br></div><div><br></div>
</blockquote></div><br></div>