Mnesia Fragmented Tables, del_table_copy

Tessaro Alexej <>
Wed Jan 19 14:31:47 CET 2011


Hello, 

I have started two communicating mnesia nodes and created one fragmented
table with fragments stored in RAM only (no other replicas) and schema
stored on disk on both nodes:

node1 : constResourceData_frag3 (ram), constResourceData_frag4 (ram), 
schema (disk)

node2 : constResourceData (ram), constResourceData_frag2 (ram), schema
(disk)

Now, from node1, I tried to call
mnesia:del_table_copy(constResourceData_frag2, node2)

but it fails saying:

node1> Mnesia(node1): Last replica deleted in table
constResourceData_frag2
node1>{aborted,{no_exists,constResourceData_frag2,frag_properties,
                    frag_hash}}
node1> Mnesia(node1): Transaction {tid,75,<0.371.0>} calling
#Fun<mnesia_schema.15.79614902> with [] failed: 
 {aborted,{no_exists,constResourceData_frag2,frag_properties,frag_hash}}

Looking at the mnesia_schema.erl source code, I found that the failure
seems to happen when it tries to delete the "whole_table" in
make_delete_table/2 and it runs the following check:

%% Check if it is a base table 
nesia_frag:lookup_frag_hash(Tab),	

Why is my attempt of removing the fragment failing?

My erlang version is R12B.

Thank you
 



More information about the erlang-questions mailing list