Bug 1007453

Summary: schema-compat plugin should ignore slapi task entries to avoid possible DS deadlock
Product: Red Hat Enterprise Linux 6 Reporter: mreynolds
Component: slapi-nisAssignee: Nalin Dahyabhai <nalin>
Status: CLOSED NEXTRELEASE QA Contact: Namita Soman <nsoman>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.4CC: akrivoka, mreynolds, rcritten
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-09-24 15:55:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description mreynolds 2013-09-12 14:08:06 UTC
Description of problem:

Potential deadlocks can occur when tasks are added to the Directory Server.  Where the task itself creates new thread and makes database updates, and the task add operation also triggers post plugins to fire off.

Version-Release number of selected component (if applicable):


How reproducible:

Sometimes

Steps to Reproduce:
1. Install FreeIPA server:
# ipa-server-install

2. Authenticate as admin:
# kinit admin

3. Add a hostgroup:
# ipa hostgroup-add --desc="Web Servers" webservers

4. Add a host:
# ipa host-add web1.example.com --force

5. Add an automember rule:
# ipa automember-add --type=hostgroup webservers
# ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers

6. Try to rebuild membership:
# cat rebuild.ldif 
dn: cn=rt,cn=automember rebuild membership,cn=tasks,cn=config
changetype: add
objectClass: top
objectClass: extensibleObject
cn: rt
basedn: cn=computers,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com
filter: (fqdn=*)
scope: sub

7. ldapmodify -x -D 'cn=directory manager' -w password -f rebuild.ldif
adding new entry "cn=rt,cn=automember rebuild membership,cn=tasks,cn=config"

Actual results:

The ldapmodify in step 7 hangs

Expected results:

ldapmodify does not hang the Directory Server

Comment 1 Martin Kosek 2013-09-12 14:12:56 UTC
Does it apply for both 7.0 and 6.4? We did not update slapi-nis in 6.4... Looks like duplicate of Bug 1007451.

Comment 4 Martin Kosek 2013-09-17 15:12:34 UTC
Moving to the right component. But I still think that this is not an issue for RHEL-6.5. If this is the case, I would kindly ask reporter or asignee to close it.

Comment 5 Nalin Dahyabhai 2013-09-24 15:55:24 UTC
Given that the backtraces showed that this was an interaction between slapi-nis's internal locking and the transaction locks which we're using in later releases, we're now confident that this bug doesn't affect 6.x releases.  Marking as closed->next release, because we're fixing it there.