[erlang-questions] dets durability
Sun Sep 13 04:08:06 CEST 2009
I suspect "every update is guaranteed to be reflected in the dets" only
if you use dets:sync/1 on the table after doing an dets:insert/2 or
dets:delete/2 before a reboot. However, since that probably can not
always consistently occur (can not assume a insert/sync or delete/sync
is atomic) in reality I think "you may not have every update, but the
dets will be in a consistent state. no partial updates will be applied
(no mangled records)", is a more realistic assessment.
Paul Mineiro wrote:
> i'm having trouble finding the answer to this question.
> if i do a bunch of dets operations, e.g., dets:insert/2 and dets:delete/2,
> and then hard reboot the operating system without synchronizing the
> page cache (e.g., hit the power button), and then reopen the dets file:
> what guarantees do i have?
> some possible answers are (after the file is "repaired"):
> * every update is guaranteed to be reflected in the dets; or
> * you may not have every update, but the dets will be in a consistent
> state. no partial updates will be applied (no mangled records); or
> * no guarantees, due to some unlikely worst case.
> thanks in advance,
> -- p
> erlang-questions mailing list. See http://www.erlang.org/faq.html
> erlang-questions (at) erlang.org
More information about the erlang-questions