[Date Prev][Date Next]
Re: LMDB crash consistency, again
Another sync issue:
mdb_env_sync() syncs the wrong way (msync vs fdatasync) if it
runs in a process with a different MDB_WRITEMAP setting than
one which committed with MDB_NOSYNC or MDB_NOMETASYNC.
I.e. this statement in lmdb.h is too weak:
* Processes with and without MDB_WRITEMAP on the same environment do
* not cooperate well.
I think I added it after an IRC chat. But it should either say
that it can break ACID, or env_sync() called explicitly should
sync more aggressively - at least if the MDB_env did not commit
all transactions since last known sync.