Bug 1092099
Summary: | A replicated MOD fails (Unwilling to perform) if it targets a tombstone | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Noriko Hosoi <nhosoi> |
Component: | 389-ds-base | Assignee: | Noriko Hosoi <nhosoi> |
Status: | CLOSED ERRATA | QA Contact: | Viktor Ashirov <vashirov> |
Severity: | unspecified | Docs Contact: | |
Priority: | medium | ||
Version: | 7.1 | CC: | nkinder, rmeggins, vashirov |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | 389-ds-base-1.3.3.1-1.el7 | Doc Type: | Bug Fix |
Doc Text: |
Cause:
If an entry is updated on M1 and deleted on M2, it may happen that the replicated update (from M1) targets a deleted entry (tombstone). Fix 47396 prevents an update of tombstone and returns a failure.
Consequence:
First consequence is that the replicated updated fails and may break replication.
Second consequence is that the tombstone differs on M1 and M2
Fix:
Allow update on tombstones if the update comes from replication
Result:
Replication is not broken
Tombstone entries are identical on all servers
|
Story Points: | --- |
Clone Of: | 1092097 | Environment: | |
Last Closed: | 2015-03-05 09:34:28 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: | 1092097 | ||
Bug Blocks: |
Description
Noriko Hosoi
2014-04-28 18:15:39 UTC
I created 2MMR setup. Added test entry: $ ldapadd -D 'cn=Directory Manager' -w Secret123 -H ldap://localhost:1189 << EOF dn: cn=test_bug1092099,dc=example,dc=com objectClass: inetorgperson objectClass: organizationalPerson objectClass: person objectClass: top uid: test_bug1092099 sn: test_bug1092099 cn: test_bug1092099 EOF adding new entry "cn=test_bug1092099,dc=example,dc=com" It was replicated to M2: $ ldapsearch -LLL -x -H ldap://localhost:1189 "(cn=test_bug1092099)" -b dc=example,dc=com dn: cn=test_bug1092099,dc=example,dc=com objectClass: inetorgperson objectClass: organizationalPerson objectClass: person objectClass: top uid: test_bug1092099 sn: test_bug1092099 cn: test_bug1092099 $ ldapsearch -LLL -x -H ldap://localhost:1289 "(cn=test_bug1092099)" -b dc=example,dc=com dn: cn=test_bug1092099,dc=example,dc=com objectClass: inetorgperson objectClass: organizationalPerson objectClass: person objectClass: top uid: test_bug1092099 sn: test_bug1092099 cn: test_bug1092099 Pause replication on M1 and M2: $ ldapmodify -D "cn=Directory Manager" -w Secret123 -H ldap://localhost:1189 << EOF dn: cn=1189_to_1626_on_rhel7ds.brq.redhat.com,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config changetype: modify replace: nsds5ReplicaEnabled nsds5ReplicaEnabled: Off EOF modifying entry "cn=1189_to_1626_on_rhel7ds.brq.redhat.com,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config" $ ldapmodify -D "cn=Directory Manager" -w Secret123 -H ldap://localhost:1289 << EOF dn: cn=1289_to_1616_on_rhel7ds.brq.redhat.com,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config changetype: modify replace: nsds5ReplicaEnabled nsds5ReplicaEnabled: Off EOF modifying entry "cn=1289_to_1616_on_rhel7ds.brq.redhat.com,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config" Delete entry on M1: $ ldapdelete -D 'cn=Directory Manager' -w Secret123 -H ldap://localhost:1189 cn=test_bug1092099,dc=example,dc=com -v ldap_initialize( ldap://localhost:1189/??base ) deleting entry "cn=test_bug1092099,dc=example,dc=com" MODRDN entry on M2: $ ldapmodify -D 'cn=Directory Manager' -w Secret123 -H ldap://localhost:1289 << EOF dn: cn=test_bug1092099,dc=example,dc=com changetype: modrdn newrdn: cn=test_bug1092099_modified deleteoldrdn: 1 newsuperior: dc=example,dc=com EOF modifying rdn of entry "cn=test_bug1092099,dc=example,dc=com" Resume replication on M1 and M2 $ ldapmodify -D "cn=Directory Manager" -w Secret123 -H ldap://localhost:1189 << EOF dn: cn=1189_to_1626_on_rhel7ds.brq.redhat.com,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config changetype: modify replace: nsds5ReplicaEnabled nsds5ReplicaEnabled: On EOF modifying entry "cn=1189_to_1626_on_rhel7ds.brq.redhat.com,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config" $ ldapmodify -D "cn=Directory Manager" -w Secret123 -H ldap://localhost:1289 << EOF dn: cn=1289_to_1616_on_rhel7ds.brq.redhat.com,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config changetype: modify replace: nsds5ReplicaEnabled nsds5ReplicaEnabled: On EOF modifying entry "cn=1289_to_1616_on_rhel7ds.brq.redhat.com,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config" err=53 wasn't observed in access logs. Hence marking as VERIFIED. I forgot to mention that I tested this on $ rpm -qa | grep 389 389-ds-base-1.3.3.1-9.el7.x86_64 389-ds-base-debuginfo-1.3.3.1-9.el7.x86_64 389-ds-base-libs-1.3.3.1-9.el7.x86_64 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. https://rhn.redhat.com/errata/RHSA-2015-0416.html |