#48212 Dynamic nsMatchingRule changes had no effect on the attrinfo thus following reindexing, as well.
Closed: wontfix Opened by nhosoi.

Description of problem:
Customer is reindexing several times same attribute using the console (on-line
reindex). Second time using a matching rule.
The index shows corrupt by using dbverify.
How reproducible: rather always.
Steps to Reproduce:
1. create instance / suffix
2. import 60 entries of this shape:
dn: uid=user2,ou=people,o=redhat
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetorgperson
objectclass: posixAccount
uid: user2
userpassword: user2
uidnumber: 2
gidnumber: 2
cn: user2
sn: user2
3. Add index by uidnumber:
dn: cn=uidnumber,cn=index,cn=userroot,cn=ldbm database,cn=plugins,cn=config
changetype: add
objectClass: top
objectClass: nsIndex
cn: uidnumber
nsSystemIndex: false
nsIndexType: pres
nsIndexType: eq
4. Apply index
/usr/lib64/dirsrv/slapd-server2/db2index.pl -n userroot -D "cn=directory
manager" -w secret12 -t uidnumber
5. wait for the reindex to be finished.
6. modify index in this way:
dn: cn=uidnumber,cn=index,cn=userroot,cn=ldbm database,cn=plugins,cn=config
changetype: modify
add: nsMatchingRule
nsMatchingRule: integerOrderingMatch
7. Re-apply index
/usr/lib64/dirsrv/slapd-server2/db2index.pl -n userroot -D "cn=directory
manager" -w secret12 -t uidnumber
8. Stop server
9. Run dbverify
[root@rh6 ~]# /usr/lib64/dirsrv/slapd-server2/dbverify
[29/Jun/2015:18:25:33 +0200] - libdb: Page 1: out-of-order key at entry 124
[29/Jun/2015:18:25:33 +0200] - libdb: Page 1: out-of-order key at entry 146
[29/Jun/2015:18:25:33 +0200] - libdb: Page 1: out-of-order key at entry 168
[29/Jun/2015:18:25:33 +0200] - libdb: Page 1: out-of-order key at entry 190
[29/Jun/2015:18:25:33 +0200] - libdb:
/var/lib/dirsrv/slapd-server2/db/userRoot/uidnumber.db4: DB_VERIFY_BAD:
Database verification failed
[29/Jun/2015:18:25:33 +0200] DB verify - verify failed(-30972):
/var/lib/dirsrv/slapd-server2/db/userRoot/uidnumber.db4
Actual results:
index corrupted.
Expected results:
not corrupted.
Additional info:
Easy workaround: reindex off-line.

{{{
a->ai_substr_lens = b->ai_substr_lens;
}}}
ai_substr_lens is an array, so you'll have to dup the array and copy the elements.

Replying to [comment:4 rmeggins]:

{{{
a->ai_substr_lens = b->ai_substr_lens;
}}}
ai_substr_lens is an array, so you'll have to dup the array and copy the elements.

Oops. Thanks, Rich!! I'm fixing it...
--noriko

git patch file (master) -- fixed the issue pointed out by Rich in comment:4 (Thank you, Rich!)
0001-Ticket-48212-Dynamic-nsMatchingRule-changes-had-no-e.patch

Reviewed by Rich (Thank you!!)

Pushed to master:
df13210..a533145 master -> master
commit d9679725e69df1d191864ca00bad6b79b13e7362
commit a533145d1dc3c11bb0aa7745f656049b287e501e

Pushed to 389-ds-base-1.3.4:
a980b79..0e079ab 389-ds-base-1.3.4 -> 389-ds-base-1.3.4
commit d15beff66fd28902bd8ca80af12ad76a7ecbe57d
commit 0e079ab39f7ee3d5fe77b505fb40c647d149f1b0

Pushed to 389-ds-base-1.3.3:
d9b77f5..a71b48c 389-ds-base-1.3.3 -> 389-ds-base-1.3.3
commit 96cb1511b46e35f93ff47a0ad56d6e19a8e06227
commit a71b48ce986db047e9e9dd172b3351531ed5fdf7

Pushed to 389-ds-base-1.2.11:
993e37a..84b03a8 389-ds-base-1.2.11 -> 389-ds-base-1.2.11
commit 84b03a890b7773fce0adb79e692b6e4d9c70d574

Metadata Update from @rmeggins:
- Issue assigned to nhosoi
- Issue set to the milestone: 1.2.11.33

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/1543

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: Fixed)

Metadata