Hallvard Breien Furuseth wrote: > I wrote: >> Francois Gnu writes: >>> Is the mechanism of recovery mdb database working fine? >> >> MDB needs no recovery. You may lose the last commit or two, but the >> database will be consistent if the filesystem is correct. > > Whoops - to clarify: You may lose the _last_ one or two commits, until > they get flushed to disk. The one in progress, and maybe the last > successful commit. Not just any random commit:-) > > You can set up checkpointing to limit how long the last successful > commit can be endangered. ...unless I read the code wrong. The > manpage says "checkpoint" is only needed with "dbnosync". Hmm.
In the default mode (fully synchronous) you can only lose the in-progress transaction. With dbnosync you can lose whatever hasn't been checkpointed yet. There is another mode (recently added, not yet exposed in back-mdb) that only flushes the data, not the metadata. With that mode, you might lose the in-progress transaction and the immediately preceding commit. This mode is slightly faster than fully-synchronous, and slightly slower than fully asynch. -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
