Mnesia Fragmentation - Adding a new fragment

Evans, Matthew mevans@REDACTED
Fri Feb 11 18:14:59 CET 2011


Hi,

When I add a new node with a new fragment to an existing fragmented table the documentation says:

{add_frag, NodesOrDist}

Adds one new fragment to a fragmented table. All records in one of the old fragments will be rehashed and about half of them will be moved to the new (last) fragment. All other fragmented tables, which refers to this table in their foreign key, will automatically get a new fragment, and their records will also be dynamically rehashed in the same manner as for the main table.
The question is that what happens to db queries during this period? If they use the new hash on the key to find the fragment then during the rehashing period lookups will fail (likewise if they use the old hash).

The other question relates to backups of fragments (the n_disc_copies option). Can we guarantee that this backup fragment will be on a different node (if many nodes are available) to its mate?

Thanks

Matt


More information about the erlang-questions mailing list