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

Re: (ITS#8406) LMDB: Assertion 'mc->mc_flags & C_INITIALIZED' with MDB_NEXT after mdb_cursor_del



[Copied from IRC chat]

The fix is wrong - this commit broke cursor tracking:
  37081325f7356587c5e6 "ITS#8406 fix xcursors after cursor_del"

Demo:
  mtest_rand -v -f700 -i3 -p0x1000 -r1276664687.3
It sets C_DEL on the wrong xcursor, one which is at
a different key than the deleted key.  Like this:
   put         key1, data1
   put[cursor] key2, data2
   del         key1, data1
Now [cursor].mx_cursor has C_DEL.

This also breaks - probably the same bug:
  mtest_rand -v -c7 -f326 -p0x800 -r2712746413

-- 
Hallvard