Bug 678646

Summary: Managed entry plug-in needs to ignore tombstone deletion
Product: [Retired] 389 Reporter: Nathan Kinder <nkinder>
Component: Server - PluginsAssignee: Nathan Kinder <nkinder>
Status: CLOSED CURRENTRELEASE QA Contact: Viktor Ashirov <vashirov>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 1.2.7CC: amsharma, rmeggins
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 679210 (view as bug list) Environment:
Last Closed: 2015-12-07 17:10:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 639035, 656390, 679210    
Attachments:
Description Flags
Patch nhosoi: review+

Description Nathan Kinder 2011-02-18 18:23:44 UTC
The managed entry plug-in currently doesn't ignore operations tombstone entries.  If one is using replication and deletes an origin entry, then re-adds an origin entry with the same name, the associated managed entry will be deleted when the tombstone is cleaned up.  This results in an origin entry with no associated managed entry.

We need to make the managed entry delete post-op skip processing for tombstone entries.

Comment 1 Nathan Kinder 2011-02-21 22:52:45 UTC
Created attachment 480016 [details]
Patch

Comment 2 Nathan Kinder 2011-02-22 01:24:40 UTC
Pushed to master.  Thanks to Noriko for her review!

Counting objects: 13, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 1010 bytes, done.
Total 7 (delta 4), reused 0 (delta 0)
To ssh://git.fedorahosted.org/git/389/ds.git
   1b5ff01..59209af  master -> master

Comment 3 Amita Sharma 2011-04-29 08:28:11 UTC
1. Add an entry in master and check it should be replicated to slave.
ldapmodify -x -h localhost -p 20100 -D "cn=Directory Manager" -w Secret123 <<
EOF
dn: uid=amita,ou=people,dc=replsuffix,dc=com
changetype: add
objectClass: top
objectClass: person
objectClass: inetorgperson
sn: testkrbuser
cn: kkk testkrbuser
userPassword: redhat
EOF

[amsharma@rhel61-ds90-amita scripts]$ ldapsearch -h localhost -p 20100 -D
"cn=Directory Manager" -w Secret123 -b "dc=replsuffix,dc=com" | grep amita
# amita, People, replsuffix.com
dn: uid=amita,ou=People,dc=replsuffix,dc=com
uid: amita
[amsharma@rhel61-ds90-amita scripts]$ ldapsearch -h localhost -p 20102 -D
"cn=Directory Manager" -w Secret123 -b "dc=replsuffix,dc=com" | grep amita
# amita, People, replsuffix.com
dn: uid=amita,ou=People,dc=replsuffix,dc=com
uid: amita

2. Delete the entry from master and chk the slave

ldapdelete -x -h localhost -p 20100 -D "cn=Directory Manager" -w Secret123
"uid=amita,ou=people,dc=replsuffix,dc=com"
ldapsearch -h localhost -p 20100 -D "cn=Directory Manager" -w Secret123 -b
"dc=replsuffix,dc=com" | grep amita
ldapsearch -h localhost -p 20102 -D "cn=Directory Manager" -w Secret123 -b
"dc=replsuffix,dc=com" | grep amita

3. Repeat Step first.

[amsharma@rhel61-ds90-amita scripts]$ ldapmodify -x -h localhost -p 20100 -D
"cn=Directory Manager" -w Secret123 << EOF
> dn: uid=amita,ou=people,dc=replsuffix,dc=com
> changetype: add
> objectClass: top
> objectClass: person
> objectClass: inetorgperson
> sn: testkrbuser
> cn: kkk testkrbuser
> userPassword: redhat
> EOF
adding new entry "uid=amita,ou=people,dc=replsuffix,dc=com"

[amsharma@rhel61-ds90-amita scripts]$ ldapsearch -h localhost -p 20100 -D
"cn=Directory Manager" -w Secret123 -b "dc=replsuffix,dc=com" | grep amita
# amita, People, replsuffix.com
dn: uid=amita,ou=People,dc=replsuffix,dc=com
uid: amita
[amsharma@rhel61-ds90-amita scripts]$ ldapsearch -h localhost -p 20102 -D
"cn=Directory Manager" -w Secret123 -b "dc=replsuffix,dc=com" | grep amita
# amita, People, replsuffix.com
dn: uid=amita,ou=People,dc=replsuffix,dc=com
uid: amita

Bug is successfully VERIFIED.