Properties
lock?
lockWaitMs?
open() waits for a lock file that another opener has created but not written
its pid to yet (default 2000 ms). An empty lock older than 10 s is treated as stale.
appendLog?
<file>.log): each write appends one line instead of rewriting the
whole snapshot, and the snapshot is rewritten (and the log truncated) every
compactEvery entries (1000) or compactBytes (4 MiB). true uses those defaults;
false/omitted keeps the whole-snapshot behaviour. A leftover log is always replayed
(and folded into a snapshot) on open, even with this off.
fsync?
fsync every snapshot before it replaces the previous one (and the directory after the
rename, where the platform allows it), so a power loss cannot leave an empty or partial
journal. Also the default of appendLog.fsync. Default false: the write is atomic
(temp file + rename) but may still sit in the OS cache when the machine loses power.