<div dir="auto">This question always puzzled me. </div><div dir="auto">Does Mnesia rely on the same assumptions?</div><div dir="auto"><br></div><div dir="auto">/Frank</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr"><<a href="mailto:khaelin@gmail.com">khaelin@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><br>
Hi,<br>
<br>
I am unsure about the behaviour of DETS regarding saving. <br>
<br>
The documentation indicates:<br>
<br>
    all operations performed by Dets are disk operations<br>
<br>
Which seems to hint that every single insertion ends up on disk. Good.<br>
<br>
But then:<br>
<br>
    {auto_save, auto_save()} - The autosave interval. If the interval is<br>
    an integer Time, the table is flushed to disk whenever it is not<br>
    accessed for Time milliseconds. A table that has been flushed<br>
    requires no reparation when reopened after an uncontrolled emulator<br>
    halt.<br>
<br>
This is ambiguous: does it means that entries will be buffered in memory<br>
and only written to disk during the auto save operation (therefore some<br>
operations are not actually disk operations), or does it mean that DETS<br>
always writes to disk without sync-ing (using fsync or equivalent), and<br>
synchronization occurs during the auto save operation ?<br>
<br>
In any case, am I correct in assuming that DETS does not offer any way<br>
to guarantee that entries are actually written on disk, meaning that an<br>
application crash would lead to a loss of every entry written since the<br>
last auto_save operation ?<br>
<br>
I was hoping to use DETS as a local persistent buffer in case data<br>
cannot be written to a remote database, but it seems impossible to<br>
guarantee that every entry is being sync-ed to disk.<br>
<br>
Thank you in advance.<br>
<br>
Regards,<br>
<br>
-- <br>
Nicolas Martyanoff<br>
<a href="http://snowsyn.net" rel="noreferrer" target="_blank">http://snowsyn.net</a><br>
<a href="mailto:khaelin@gmail.com" target="_blank">khaelin@gmail.com</a><br>
</blockquote></div></div>