[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: LMDB: issue with mdb_cursor_del



On 18/10/17 22:44, timur.kristof@gmail.com wrote:
On Wed, 2017-10-18 at 20:08 +0300, Леонид Юрьев wrote:
Sure this will not create problems when working without MDB_WRITEMAP.
But in MDB_WRITEMAP mode duplicates in the dirty-list seems may leads
some side affects.
Therefore in MDBX I had planned to completely rewrite
freelist_save().

I think simply accepting -1 would fix this problem for everyone but
users of MDB_WRITEMAP in which case it doesn't affect the outcome
because a different function is called: mdb_mid2l_append which cannot
return -1.

No, Leo is right.  Duplicates in the freelist give a broken DB.

A cleaner fix is for freelist_save() to quit messing with loose
pages and just reserve room for them, like it does for me_pghead.

I've reported ITS#8756 <http://www.openldap.org/its/?findid=8756>.

--
Hallvard