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

Re: (ITS#8355) [lmdb] Issues with sorted duplicate DBs with cursor delete



HLaw wrote:
>
>
> On Sunday, January 24, 2016 07:44 PM, Howard Chu wrote:
>> hhclaw.eb@gmail.com 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/