On Thu, 2017-10-19 at 08:12 +0200, Hallvard Breien Furuseth wrote: > On 18/10/17 22:44, timur.kris...@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. >
I didn't suggest duplicates. I suggested accepting -1 from insert() which merely indicated that the page is already on the dirty list. I does not make a duplicate. Or am I getting it wrong? > 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