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

Re: (ITS#8300) LMDB mdb_cursor_del data loss

malyn@strangeGizmo.com wrote:
> Full_Name: Michael Alyn Miller
> Version: Git head
> OS: Windows 8.1 x64, NixOS 14.12 x64
> URL: ftp://ftp.openldap.org/incoming/michaelalynmiller-151104.c
> Submission from: (NULL) (
> Another issue similar to ITS#8264 and ITS#8299, but this time using
> mdb_cursor_del inside of the cursor causes corruption.  mdb_del causes
> corruption as well, but this is the first time that I have seen mdb_cursor_del
> do the wrong thing.
> In this case, mdb_cursor_del incorrectly removes one extra key (a key
> prefixed with 0c000000000000003a...) in addition to correctly removing all of
> the keys that begin with 0d000000000000003a.
> mdb_del does not remove that extra key, but instead fails to remove two
> 0d000000000000003a keys that should have been removed.
> I am not sure if these are two different bugs or if they are caused by the same
> underlying issue.

Similar reason, two different mistakes. Fixed now in git.
> mdb_cursor_del performs correctly on subsequent runs if you do *not* remove the
> database between tests, whereas mdb_del continues to fail, but stabilizes on a
> different set of results after the first run.

   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/