On Sat, Jan 31, 2015 at 12:54 AM, Howard Chu <h...@symas.com> wrote: > > My earlier assumption (before reading mdb_page_alloc) was that LMDB >> would be aggressive about grabbing pages freed by transactions that are >> not actively being read. If we're relying on `last < oldest` to create a >> two page discrepancy, this means when we actually have readers on older >> transactions that we're being little more conservative than necessary. >> > > More than necessary? I don't think so.
You'll conserve exactly one more transaction's free pages than necessary in the case where a reader-lock exists on any transaction older than the most recent snapshot.