Test scenario I. Install 389-ds-base which includes the trac 2 fix. 0. Set up 2-way MMR (M1 and M2). 1. Add a multi-level subtree. E.g., dc=example,dc=com | ou=OU1 | ou=OU11 / \ ou=OU111 ou=OU112 / | | \ uid=tuser1111 | | uid=tuser1122 uid=tuser1112 uid=tuser1121 2. Delete the subtree, which top is ou=OU1,dc=example,dc=com. It will convert all the subordinate entries to tombstone entries. 3. Shutdown M1; run dbscan to verify the entries are now tombstoned. The tombstone entries are supposed to have tombstoneNumSubordintates attribute instead of numSubordinates. # dbscan -f /var/lib/dirsrv/slapd-M1/db//id2entry.db4 Make sure tombstoned entries' parentids are in the parentid index file. # dbscan -f /var/lib/dirsrv/slapd-M1/db//parentid.cb4 -r 4. Export the backend to an ldif file and reimport it. # /usr/lib[64]/dirsrv/slapd-M1/db2ldif -n -r Exported ldif file: /path/to/slapd-M1/ldif/M1--.ldif # /usr/lib[64]/dirsrv/slapd-M1/ldif2db -n -i /path/to/slapd-M1/ldif/M1--.ldif No error is supposed to be observed. 5. Edit /etc/dirsrv/slapd-M1/dse.ldif dn: cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config nsds5replicapurgedelay: 1 nsds5replicatombstonepurgeinterval: 60 6. Restart M1; monitor the error log for 5 of minutes. # tail -f /var/log/dirsrv/slapd-M1/errors The following errors are not supposed to be logged: _entry_set_tombstone_rdn - Failed to convert DN uid=... to RDN id2entry - str2entry returned NULL for id 30, string="rdn" 7. Repeat ldapsearch to check the tombstone entries are gradually getting reaped. $ ldapsearch -h localhost -p -D 'cn=directory manager' -w \ -b "dc=example,dc=com" "(objectclass=nstombstone)" II. Upgrade test 1. Install 389-ds-base which does NOT include the trac 2 fix. 2. Repeat I.1, I.2, I.3, I.5, I.6 (no need to run I.4 and dbscan) The errors in I.5 are supposed to be observed in the error log. 3. Install 389-ds-base which includes the trac 2 fix. # setup-ds.pl -u 4. If there are tombstone entries in the corrupted subtree, the orphan tombstone entries are untouched in the upgrade phase. The upgrade tool just suggests to run db2ldif and ldif2db. 5. Once upgraded, do I.1 through I.7 and make sure it is properly upgraded.