[erlang-questions] Mnesia schema replicas

Vimal Kumar vimal7370@REDACTED
Mon Feb 8 09:59:19 CET 2016


Hi Dan,

On Mon, Feb 8, 2016 at 2:11 PM, Dan Gudmundsson <dgud@REDACTED> wrote:

> When you start mnesia without calling create_schema, mnesia will create an
> empty ram_copies schema for you.
>
> change_config(extra_db_nodes, ..) will connect and merge schema with the
> server.
>
> What you probably want is to call mnesia:change_table_copy_type(schema,
> disc_copies, node)) after change_config.
>
>
True, and that is what I normally do. However, the documentation says:

"The functions mnesia:add_table_copy/3 and mnesia:del_table_copy/2 can be
used to add and delete replicas of the schema table."

Is this statement correct, or a bug in documentation? Has anyone tried to
add replica of schema table using mnesia:add_table_copy/3 and succeeded?

Regards,
Vimal


> /Dan
>
> On Sun, Feb 7, 2016 at 7:52 PM Vimal Kumar <vimal7370@REDACTED> wrote:
>
>> Hello list,
>>
>> Ref (Section 6.6): http://erlang.org/doc/apps/mnesia/Mnesia_chap5.html
>>
>> -QUOTE-
>> The functions mnesia:add_table_copy/3 and mnesia:del_table_copy/2 can be
>> used to add and delete replicas of the schema table. Adding a node to the
>> list of nodes where the schema is replicated affects the following:
>>
>> It allows other tables to be replicated to this node.
>> It causes Mnesia to try to contact the node at startup of disc-full nodes.
>> -END QUOTE-
>>
>> I can use the functions mnesia:add_table_copy/3 and
>> mnesia:del_table_copy/2 to add and delete replicated copies of other tables
>> successfully, but not table 'schema'. In fact I am not sure at what point
>> in initialization process of a new mnesia node should this be run. Please
>> assist.
>>
>> ------
>> $ erl -mnesia -sname slave
>> Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [async-threads:10]
>> [hipe] [kernel-poll:false]
>>
>> Eshell V7.0  (abort with ^G)
>> (slave@REDACTED)1> mnesia:start().
>> ok
>>
>> (slave@REDACTED)3> mnesia:change_config(extra_db_nodes,
>> ['server@REDACTED']).
>> {ok,['server@REDACTED']}
>>
>> (slave@REDACTED)5> mnesia:add_table_copy(schema, node(),
>> disc_copies).
>> {aborted,{already_exists,schema,'slave@REDACTED'}}
>> ------
>>
>> Regards,
>> Vimal
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160208/c5cf36e6/attachment.htm>


More information about the erlang-questions mailing list