Bug 1086907
| Summary: | Performing deletes during tombstone purging results in operation errors | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Noriko Hosoi <nhosoi> | |
| Component: | 389-ds-base | Assignee: | Noriko Hosoi <nhosoi> | |
| Status: | CLOSED ERRATA | QA Contact: | Sankar Ramalingam <sramling> | |
| Severity: | unspecified | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 6.6 | CC: | jgalipea, mreynolds, nkinder, rmeggins, vashirov | |
| Target Milestone: | rc | |||
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | 389-ds-base-1.2.11.15-34.el6 | Doc Type: | Bug Fix | |
| Doc Text: |
Cause: Deleting entries while tombstone purging is occurring
Consequence: Some delete operations will fail with an error 1.
Fix: The error 1 was triggered because the parent entry was replaced in the entry cache. The fix retries to obtain the parent entry until it succeeds or times out.
Result: Delete operations succeed as expected
|
Story Points: | --- | |
| Clone Of: | ||||
| : | 1086908 (view as bug list) | Environment: | ||
| Last Closed: | 2014-10-14 07:54:53 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
Noriko Hosoi
2014-04-11 19:32:34 UTC
Upstream ticket https://fedorahosted.org/389/ticket/47771 Verification steps: [1] Create one instance, but enable/setup replication(no agreement needed) [2] Set the tombstone purging interval to 20 seconds example: dn: cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config changetype: modify replace: nsDS5ReplicaTombstonePurgeInterval nsDS5ReplicaTombstonePurgeInterval: 20 [3] Import or add 500 entries [4] Delete those 500 entries [5] All the delete operations should pass, and not report an error 1(operations error), or any error for that fact. 1. Create one instance, but enable/setup replication (no agreement needed) 2. Set the tombstone purging interval to 20 seconds $ ldapmodify -D "cn=Directory Manager" -w Secret123 -H ldap://localhost:1389 << EOF > dn: cn=changelog5,cn=config > changetype: add > objectclass: top > objectclass: extensibleObject > cn: changelog5 > nsslapd-changelogdir: /var/lib/dirsrv/slapd-rhel6ds/changelogdb > nsslapd-changelogmaxage: 10d > EOF adding new entry "cn=changelog5,cn=config" $ ldapmodify -D "cn=Directory Manager" -w Secret123 -H ldap://localhost:1389 << EOF > dn: cn=replica,cn=dc\=example\,dc\=com,cn=mapping tree,cn=config > changetype: add > objectclass: top > objectclass: nsds5replica > objectclass: extensibleObject > cn: replica > nsds5replicaroot: dc=example,dc=com > nsds5replicaid: 7 > nsds5replicatype: 3 > nsds5flags: 1 > nsds5ReplicaPurgeDelay: 604800 > nsds5ReplicaBindDN: cn=replication manager,cn=config > nsDS5ReplicaTombstonePurgeInterval: 20 > EOF adding new entry "cn=replica,cn=dc\=example\,dc\=com,cn=mapping tree,cn=config" 3. Import or add 500 entries $ ldclt -h localhost -p 1389 -D "cn=Directory Manager" -w Secret123 -f cn=MrXXXXX -b "ou=people,dc=example,dc=com" -e add,person,incr,noloop,commoncounter -r0 -R499 -n 1 -v ldclt version 4.23 /usr/bin/ldclt-bin -h localhost -p 1389 -D "cn=Directory Manager" -w Secret123 -f cn=MrXXXXX -b ou=people,dc=example,dc=com -e add,person,incr,noloop,commoncounter -r0 -R499 -n 1 -v Process ID = 24242 Host to connect = localhost Port number = 1389 Bind DN = cn=Directory Manager Passwd = Secret123 Referral = on Base DN = ou=people,dc=example,dc=com Filter = "cn=MrXXXXX" Max times inactive = 3 Max allowed errors = 1000 Number of samples = -1 Number of threads = 1 Total op. req. = -1 Running mode = 0x0e040201 Running mode = verbose incremental commoncounter noloop add class=person LDAP oper. timeout = 30 sec Sampling interval = 10 sec Values range = [0 , 499] Filter's head = "cn=Mr" Filter's tail = "" ldclt[24242]: Starting at Wed Aug 6 15:18:09 2014 ldclt[24242]: T000: Hit top incrementeal value ldclt[24242]: T000: thread is dead. ldclt[24242]: Average rate: 500.00/thr ( 50.00/sec), total: 500 ldclt[24242]: Average rate: 0.00/thr ( 0.00/sec), total: 0 ldclt[24242]: All threads are dead - exit. ldclt[24242]: Global average rate: 500.00/thr ( 25.00/sec), total: 500 ldclt[24242]: Global number times "no activity" reports: never ldclt[24242]: Global number of dead threads: 1 ldclt[24242]: Global no error occurs during this session. ldclt[24242]: Ending at Wed Aug 6 15:18:29 2014 ldclt[24242]: Exit status 0 - No problem during execution. 4. Delete those 500 entries $ ldclt -h localhost -p 1389 -D "cn=Directory Manager" -w Secret123 -f cn=MrXXXXX -b "ou=people,dc=example,dc=com" -e delete,person,incr,noloop,commoncounter -r0 -R499 -n 1 -v ldclt version 4.23 /usr/bin/ldclt-bin -h localhost -p 1389 -D "cn=Directory Manager" -w Secret123 -f cn=MrXXXXX -b ou=people,dc=example,dc=com -e delete,person,incr,noloop,commoncounter -r0 -R499 -n 1 -v Process ID = 24250 Host to connect = localhost Port number = 1389 Bind DN = cn=Directory Manager Passwd = Secret123 Referral = on Base DN = ou=people,dc=example,dc=com Filter = "cn=MrXXXXX" Max times inactive = 3 Max allowed errors = 1000 Number of samples = -1 Number of threads = 1 Total op. req. = -1 Running mode = 0x0b040201 Running mode = verbose incremental commoncounter noloop delete class=person LDAP oper. timeout = 30 sec Sampling interval = 10 sec Values range = [0 , 499] Filter's head = "cn=Mr" Filter's tail = "" ldclt[24250]: Starting at Wed Aug 6 15:18:47 2014 ldclt[24250]: T000: Hit top incrementeal value ldclt[24250]: T000: thread is dead. ldclt[24250]: Average rate: 500.00/thr ( 50.00/sec), total: 500 ldclt[24250]: Average rate: 0.00/thr ( 0.00/sec), total: 0 ldclt[24250]: All threads are dead - exit. ldclt[24250]: Global average rate: 500.00/thr ( 25.00/sec), total: 500 ldclt[24250]: Global number times "no activity" reports: never ldclt[24250]: Global number of dead threads: 1 ldclt[24250]: Global no error occurs during this session. ldclt[24250]: Ending at Wed Aug 6 15:19:07 2014 ldclt[24250]: Exit status 0 - No problem during execution. No errors were returned, hence marking as VERIFIED. 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. http://rhn.redhat.com/errata/RHBA-2014-1385.html |