LDAP サーバーから期待されるエントリーを検索できない
Issue
- LDAP サーバーのエントリーに "exg<Name>" 属性を定義しています。また、"exg<Name>" 属性に "index" を使用しています。
slapd.conf
----------------------------
index exg<Name> eq
----------------------------
/var/lib/ldap/
-----------------------
exg<Name>.bdb
-----------------------
-
LDIF ファイルを使用して RHEL5.x (openldap-2.3.x) と RHEL6.5 (openldap-2.4.43) の両方に同じエントリーを追加し、以下の検索式を使用してエントリーを検索します。
*"exg<Name>" 属性の最小値は "19000101" で、最大値は "20150121" です。# slapadd -f /etc/openldap/slapd.conf -l slapcat.log # ldapsearch -x -H ldap://127.0.0.1 -b 'ou=Users,ou=usermtn,dc=*******,dc=local' -D cn=Manager,dc=*******,dc=local -w ********* -LLL -s one '(exg<Name><=20150130)'
-
openldap-2.3.x では想定通りのエントリーの数 (38034) を検索できますが、openldap-2.4.43 における検索結果は 33115 となります。さらに、"exg<Name>" 属性のインデックスを削除し、エントリーを再度検索すると、openldap-2.4.43 でも想定通りのエントリー数 (38034) を検索できます。
Snipped from slapd.conf
-----------------------------
#index exg<Name> eq
-----------------------------
# rm /var/lib/ldap/exg<Name>.bdb
Environment
- Red Hat Enterprise Linux 6 Update 5
- アーキテクチャー: x86_64
- パッケージのバージョン: openldap-2.4.23-32.el6_4.1.x86_64
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.