HLaw wrote: > > > On Sunday, January 24, 2016 07:44 PM, Howard Chu wrote: >> [email protected] wrote: >>> Full_Name: H Law >>> Version: LMDB >>> OS: Linux >>> URL: >>> Submission from: (NULL) (42.2.241.129) >>> >>> >>> 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/
