It was a while since I looked this up but from what I remember neither mnesia nor dets
(the underlying file format) do fsync after writing to disk. You can force syncing by dets:sync
and disk_log:sync
but I don’t think they would be part of transaction.
mnesia is an in memory configuration database first and tries to maintain its durability by being distributed and holding multiple replicas of the data.
I doubt things have changed. Here are two related threads:
http://erlang.2086793.n4.nabble.com/mnesia-sync-transactions-not-fsynced-td4673313.html