[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#4088) hdb deadlock between syncrepl/slapcat
Aaron Richton wrote:
>> Unfortunately BDB doesn't record process or thread IDs with locker IDs
>> so there's no quick way to find the culprit.
>>
>
> Well, I was able to repro this:
>
> 0. pkill slapd
> 1. rm [dataDir]/*db*
> 2. slapd
> [...now syncrepl has a lot of work to do...]
> 3. while sleep 2;slapcat;done &
>
> I can think of no rationale why/how one of the slapcats would have
> experienced any sort of abnormal termination.
>
> Does LDAP_DEVEL/-d -1/etc. have sufficient information on lock ids to
> track this down? Alternately, I can throw a debugger watchpoint, if you
> think that might help.
>
OK, never mind. Actually for back-hdb there may be two cursors open at
once in slapcat, which does open the possibility for deadlock. That
probably means that we have to use a read transaction here to wrap all
of the steps, or find a way to eliminate the second cursor. I'll have to
think about this for a while.
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/