[erlang-questions] Mnesia cluster across releases

Daniel Dormont <>
Thu Mar 20 13:15:04 CET 2014


Sorry, it turns out I was wrong. What happens is that when I have a
node already in the cluster running R16B, and I add a second one, the
first one crashes while merging the schemas with the error above.

I did some Googling around - looks like this may have been a problem
with R16B01 that was later fixed in R16B03? I'm running Ubuntu 13.10
and that's what it came with.

On Wed, Mar 19, 2014 at 11:05 AM, Daniel Dormont
<> wrote:
> So it turns out my problem may be more specific. What happened now is
> that I have a particular table where the only copy of that table was
> on a node that was shut down and is now lost. Is there any way to
> recover from that? I'm ok with completely deleting the table from the
> schema but a simple
>
> mnesia:delete_table(tabname).
>
> results in
>
> {aborted,{no_exists,tabname}}
>
> Anything I can do there, or is my whole schema screwed?
>
> On Wed, Mar 19, 2014 at 1:05 AM, Chandru
> <> wrote:
>> On 18 March 2014 21:38, Daniel Dormont <> wrote:
>>>
>>> Hi all,
>>>
>>> Can a Mnesia cluster exist across two OTP releases, specifically R15B
>>> and R16B? I'm testing some upgrades here and seeing this error about
>>> two minutes after trying to join a node running R16B to an existing
>>> cluster running R15B:
>>
>>
>> The simplest way to test this is to try this on two standalone nodes, one
>> running R15B and the other R16B. I've tried this, and had no problem joining
>> an R15B-1 node into an R16B-2 node.
>>
>> You say "trying to join", how exactly are you doing this? When a node joins
>> an existing mnesia installation, it should not have a schema of its own.
>>
>> Chandru
>>
>>>
>>> =ERROR REPORT==== 2014-03-18 17:13:29 ===
>>> Mnesia(''): ** ERROR ** (core
>>> dumped to file:
>>> "/var/lib/ejabberd/")
>>>  ** FATAL ** Schema update error {{badmatch,
>>>                                    {error,
>>>                                     {bad_object_header,
>>>                                      "/var/lib/ejabberd/schema.DAT"}}},
>>>                                   [{mnesia_dumper,dets_insert,4,
>>>
>>> [{file,"mnesia_dumper.erl"},{line,342}]},
>>>                                    {mnesia_dumper,insert_cstruct,5,
>>>
>>> [{file,"mnesia_dumper.erl"},{line,1117}]},
>>>                                    {mnesia_dumper,insert_ops,6,
>>>
>>> [{file,"mnesia_dumper.erl"},{line,309}]},
>>>                                    {mnesia_dumper,perform_update,4,
>>>
>>> [{file,"mnesia_dumper.erl"},{line,292}]},
>>>                                    {mnesia_dumper,update,3,
>>>
>>> [{file,"mnesia_dumper.erl"},{line,273}]},
>>>                                    {mnesia_tm,do_commit,3,
>>>                                     [{file,"mnesia_tm.erl"},{line,1780}]},
>>>                                    {mnesia_tm,commit_participant,6,
>>>
>>> [{file,"mnesia_tm.erl"},{line,1699}]}]} [{op,
>>>
>>>        merge_schema,
>>>
>>>        [{name,
>>>
>>> ... etc.
>>>
>>> If not, are there strategies for dealing with such an upgrade? Or is
>>> this caused by something else entirely?
>>>
>>> Thanks,
>>> Dan
>>> _______________________________________________
>>> erlang-questions mailing list
>>> 
>>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>>



More information about the erlang-questions mailing list