[erlang-questions] mnesia fragmentation

wde <>
Mon Jun 29 19:04:38 CEST 2009


Hello all,

I'm trying to play with (and understand) the mnesia fragmentation feature.

-> what is the interest of the node_pool property ? I understand that we use it during the initial fragmentation activation in order to distribute the replicas. But once activated I don't understand the role of the node_pool. When we  want to add fragments (add_frag) we have to specify the nodes (or the distribution) to use, and we can add fragment on a node which is not in the node_pool, same thing for fragment replicas. Someone could say me  when  the node_pool is used ?

In other words, what happen if we use nodes for fragmentation without adding them in node_pool ?



-> If a fragment (not replicated) is no more available (after a node goes down for example) , and I try to delete the table, mnesia aborts the operation. The solution I found is to recreate a table with the lost fragment name : 


()> mnesia:delete_table(test_db).
{aborted,{no_exists,test_db_frag2}}

()> mnesia:create_table(test_db_frag2,[]).
{atomic,ok}

()> mnesia:delete_table(test_db).
{atomic,ok}

Is there a better solution ?




Thank you for your time and your help.

wde












More information about the erlang-questions mailing list