[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#8355) [lmdb] Issues with sorted duplicate DBs with cursor delete
- To: openldap-its@OpenLDAP.org
- Subject: Re: (ITS#8355) [lmdb] Issues with sorted duplicate DBs with cursor delete
- From: hyc@symas.com
- Date: Sun, 24 Jan 2016 19:49:30 +0000
- Auto-submitted: auto-generated (OpenLDAP-ITS)
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/