Bug 1290726
Summary: | The 'eq' index does not get updated properly when deleting and re-adding attributes in the same ldapmodify operation | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Jan Kurik <jkurik> |
Component: | 389-ds-base | Assignee: | Noriko Hosoi <nhosoi> |
Status: | CLOSED ERRATA | QA Contact: | Viktor Ashirov <vashirov> |
Severity: | urgent | Docs Contact: | |
Priority: | urgent | ||
Version: | 7.0 | CC: | jkurik, msauton, nhosoi, nkinder, rmeggins, spichugi |
Target Milestone: | rc | Keywords: | ZStream |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | 389-ds-base-1.3.4.0-22.el7_2 | Doc Type: | Bug Fix |
Doc Text: |
Previously, when several values of the same attribute were deleted using the ldapmodify command, and at least one of them was added again during the same operation, the equality index was not updated. As a consequence, an exact search for the re-added attribute value did not return the entry. The logic of the index code has been modified to update the index if at least one of the values in the entry changes, and the exact search for the re-added attribute value now returns the correct entry.
|
Story Points: | --- |
Clone Of: | 1290600 | Environment: | |
Last Closed: | 2016-02-16 10:50:34 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: | 1290600 | ||
Bug Blocks: |
Description
Jan Kurik
2015-12-11 08:55:30 UTC
[root@mgmt6 ~]# rpm -qa | grep 389 389-ds-base-1.3.4.0-23.el7_2.x86_64 389-ds-base-libs-1.3.4.0-23.el7_2.x86_64 Verification steps: 1. Setup a RHDS server (stand-alone) 2. Create a user: [root@serv ~]# ldapadd -x -h localhost -D 'cn=Directory Manager' -w Secret123 << EOF dn: uid=user0099,ou=People,dc=example,dc=com givenName: Test sn: User loginShell: /bin/bash uidNumber: 10099 gidNumber: 10099 objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetorgperson objectClass: posixAccount uid: user0099 gecos: Test User mail: user0099 mail: alias cn: Test User homeDirectory: /home/user0099 EOF 3. Update the mail attribute by deleting all values and add only one value, that was previously used, in the same ldapmodify command: [root@serv ~]# ldapmodify -x -h localhost -D 'cn=Directory Manager' -w Secret123 << EOF dn: uid=user0099,ou=People,dc=example,dc=com changetype: modify delete: mail mail: user0099 mail: alias - add: mail mail: user0099 EOF 4. Search for entries that have 'mail=alias' (i.e. the value that was deleted): [root@serv ~]# ldapsearch -LLL -x -h localhost -D 'cn=Directory Manager' -w Secret123 -b "dc=example,dc=com" mail=alias cn 5. Check the entry as returned by step 4: [root@serv ~]# ldapsearch -LLL -x -h localhost -D 'cn=Directory Manager' -w Secret123 -b "dc=example,dc=com" uid=user0099 mail dn: uid=user0099,ou=People,dc=example,dc=com mail: user0099 6. Check that dbscan of the mail index db doesn't show both values: [root@serv ~]# dbscan -f /var/lib/dirsrv/slapd-serv/db/userRoot/mail.db | grep ^= =user0099 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. https://rhn.redhat.com/errata/RHSA-2016-0204.html |