Bug 1080185 - Creating a glue fails if one above level is a conflict or missing
Summary: Creating a glue fails if one above level is a conflict or missing
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: 389-ds-base
Version: 6.4
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Noriko Hosoi
QA Contact: Sankar Ramalingam
Depends On:
TreeView+ depends on / blocked
Reported: 2014-03-24 21:00 UTC by Noriko Hosoi
Modified: 2020-09-13 21:00 UTC (History)
5 users (show)

Fixed In Version: 389-ds-base-
Doc Type: Bug Fix
Doc Text:
Cause: tombstone resurrection did not consider the case its parent entry had become a conflict entry. Also, resurrected tombstone treatment was missing in the entryrdn index. Consequence: The parent-child relationship was confused when a tombstone was resurrected. Fix: Even if the parent of a tombstone entry has become a conflict entry, the parent-child relationship is correctly managed. Result: The DIT structure is properly maintained under the stress.
Clone Of:
Last Closed: 2014-10-14 07:54:40 UTC
Target Upstream Version:

Attachments (Terms of Use)
test script & data (20.00 KB, application/x-tar)
2014-05-12 23:20 UTC, Noriko Hosoi
no flags Details

System ID Private Priority Status Summary Last Updated
Github 389ds 389-ds-base issues 1082 0 None None None 2020-09-13 21:00:47 UTC
Red Hat Product Errata RHBA-2014:1385 0 normal SHIPPED_LIVE 389-ds-base bug fix and enhancement update 2014-10-14 01:27:42 UTC

Description Noriko Hosoi 2014-03-24 21:00:52 UTC
This bug is created as a clone of upstream ticket:

dn: ou=test,ou=projects,nsuniqueid=bd44c40a-afc711e3-9b7bd5e4-7027b69c

Trying to resurrect ou=test and adding a glue entry ou=projects.  Then, the add fails due to its parent not found since o=org246 is a conflict.

210 create_glue_entry ( Slapi_PBlock *pb, char *sessionid, Slapi_DN *dn, const char *uniqueid, CSN *opcsn )
239             op_result= do_create_glue_entry(rdn, superiordn, uniqueid, "missingEntry", opcsn);
254                 case LDAP_NO_SUCH_OBJECT:
255                     /* The parent is missing */
256                     {
257                     /* JCMREPL - Create the parent ... recursion?... but what's the uniqueid? */
258                     PR_ASSERT(0); /* JCMREPL */ <== This assertion fails.
259                     }

Comment 1 Noriko Hosoi 2014-05-12 23:20:27 UTC
Created attachment 894899 [details]
test script & data

How to run the test script:
1) setup 3 way mmr (M0 <--> M1 <--> M2 <--> M0)
2) untar the attached tar file reproducer.tar
3) update reproducer.sh to adjust the servers
4) ldapmodify -x ... -af test.ldif
5) sh -x reproducer.sh

If you see a log "Can't resurrect tombstone to glue reason 'deletedEntryHasChildren', Try with conflict dn o=bees##,ou=organizations,<suffix>, error=68" in the error log and the test goes to the end (loop count 200), the bug is verified.

Comment 3 Jesse Adelman, Collab.Net 2014-07-28 23:40:32 UTC
Any chance of this getting out of QA and into a release for 5.X and 6.X? :) Thanks.

Comment 4 Jesse Adelman, Collab.Net 2014-07-28 23:43:44 UTC
P.S. We're also looking forward to https://bugzilla.redhat.com/show_bug.cgi?id=1097002 at the same time. :)

Comment 5 Rich Megginson 2014-08-04 16:12:00 UTC
(In reply to Jesse Adelman, Collab.Net from comment #3)
> Any chance of this getting out of QA and into a release for 5.X and 6.X? :)
> Thanks.

Can you wait until RHEL 6.6 is released?  Should be another couple of months.  That's the only way to get a "supported" fix for this issue.

For RHEL 5, we will need to do an EPEL5 release from the latest 1.2.11 branch.

Comment 7 errata-xmlrpc 2014-10-14 07:54:40 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.