On Sunday, January 24, 2016 07:44 PM, Howard Chu wrote:
> hhclaw.eb(a)gmail.com wrote:
>> Full_Name: H Law
>> Version: LMDB
>> OS: Linux
>> Submission from: (NULL) (188.8.131.52)
>> It seems that, after using a cursor delete during a cursor traversal on a dup
>> sort database, the cursor is in a strange state, when MDB_NEXT / MDB_NEXT_DUP
>> ceases to work properly while MDB_PREV / MDB_PREV_DUP still functions.
> Thanks for the report. Fixed now in git.
Thank you. It now works except for the case when the deleted record is just
before the end of the database.
In this case the next call to cursor get with MDB_NEXT / MDB_NEXT_DUP will
still hang the program, instead of returning not found (or other errors). (It
seems to be stuck at some wait state without heavy cpu usage).
Your test program is broken, you are trying to create a new write txn in the
same thread as an existing write txn.
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/