Description of problem:
$ ldapsearch -D "uid=xxxxxxxx,ou=xxx,ou=people,o=renault" -w - -S cn -x -G 0:1023:0:0 -b "ou=people,o=.." -s sub ... modifyTimestamp uid givenName displayName sn uid mail postOfficeBox displayName telephoneNumber cn -> stdout messages: ldap_search: Not an LDAP errno 76 Server reported sorting error 53: unable to sort Server reported sorting error 53: unable to sort -> access log: [20/Jan/2014:15:22:13 +0100] conn=391957 op=1 SRCH base="ou=people,o=..." scope=2 filter="..." attrs="modifyTimestamp uid givenName displayName sn uid mail postOfficeBox displayName telephoneNumber cn" [20/Jan/2014:15:22:13 +0100] conn=391957 op=1 RESULT err=76 tag=101 nentries=0 etime=0.001000 -> error log: no message
The same command executed on Sun One DS returns the expected result (a list of entries) and produces acces logs similar to above (with sort and VLV). Is this issue linked to a limitation of RHDS 8.2 on VLV controls with a multi-backend directory? If yes, does this limitation still exist with DS 9? "
I added some in house test notes below showing it not possible to use VLV with sub suffixes.
Steps to Reproduce:
have RHEL 6.5 system installed with RHDS 9.1 or 389-ds-base
create suffix
dn: cn=peopleexamplecom,cn=ldbm database,cn=plugins,cn=config changetype: add objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance cn: peopleexamplecom nsslapd-suffix: ou=people,dc=example,dc=com nsslapd-cachesize: -1 nsslapd-cachememsize: 10485760 nsslapd-directory: /var/lib/dirsrv/slapd-ca3899/db/peopleexamplecom creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoo t createTimestamp: 20140204123242Z modifyTimestamp: 20140204123242Z
dn: cn=ou\3Dpeople\2Cdc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config changetype: add objectClass: top objectClass: extensibleObject objectClass: nsMappingTree nsslapd-state: Backend cn: ou=people,dc=example,dc=com nsslapd-parent-suffix: dc=example,dc=com nsslapd-backend: peopleexamplecom creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoo t createTimestamp: 20140204123243Z modifyTimestamp: 20140204123243Z
dn: cn=sub1people,cn=ldbm database,cn=plugins,cn=config objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance cn: sub1people creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoo t createTimestamp: 20140204165247Z modifyTimestamp: 20140204165247Z numSubordinates: 4 nsslapd-suffix: ou=sub1,ou=people,dc=example,dc=com nsslapd-cachesize: -1 nsslapd-cachememsize: 10485760 nsslapd-readonly: off nsslapd-require-index: off nsslapd-directory: /var/lib/dirsrv/slapd-ca1/db/sub1people nsslapd-dncachememsize: 10485760
dn: cn=ou\3Dsub1\2Cou\3Dpeople\2Cdc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=co nfig objectClass: top objectClass: extensibleObject objectClass: nsMappingTree nsslapd-state: Backend cn: ou=sub1,ou=people,dc=example,dc=com nsslapd-parent-suffix: ou=people,dc=example,dc=com nsslapd-backend: sub1people creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoo t createTimestamp: 20140204165248Z modifyTimestamp: 20140204165248Z
/etc/init.d/dirsrv stop ca1 /usr/lib64/dirsrv/slapd-ca1/ldif2db -n userRoot -i ~/1K.guest.dc.example.dc.com.20.groups.header.only.ldif /usr/lib64/dirsrv/slapd-ca1/ldif2db -n peopleexamplecom -i ~/1K.guest.dc.example.dc.com.20.groups.people.only.ldif /usr/lib64/dirsrv/slapd-ca1/ldif2db -n sub1people -i ~/1K.guest.dc.example.dc.com.20.groups.people.only.sub1.ldif /etc/init.d/dirsrv start ca1
dn: cn=MCC ou=people dc=example dc=com,cn=peopleexamplecom,cn=ldbm database,cn=plugins,cn=config changetype: add objectClass: top objectClass: vlvSearch cn: MCC ou=people dc=example dc=com vlvBase: ou=people,dc=example,dc=com vlvScope: 1 vlvFilter: (|(objectclass=*)(objectclass=ldapsubentry)) creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoo t createTimestamp: 20140204124213Z modifyTimestamp: 20140204124213Z
dn: cn=by MCC ou=people dc=example dc=com,cn=MCC ou=people dc=example dc=com,cn=peopleexamplecom,cn=ldbm database,cn=plugins,cn=config changetype: add objectClass: top objectClass: vlvIndex cn: by MCC ou=people dc=example dc=com vlvSort: cn givenname o ou sn creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoo t createTimestamp: 20140204124214Z modifyTimestamp: 20140204124214Z
dn: cn=index1391517734634,cn=index,cn=tasks,cn=config changetype: add objectClass: top objectClass: extensibleObject cn: index1391517734634 ttl: 4 nsinstance: peopleexamplecom nsindexvlvattribute: by MCC ou=people dc=example dc=com creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoo t createTimestamp: 20140204124214Z modifyTimestamp: 20140204124214Z
Actual results:
tail -f /var/log/dirsrv/slapd-ca1/errors&
ldapsearch -LLLx -D "cn=directory manager" -w password -b ou=people,dc=example,dc=com -s sub -E !vlv=0/10/0/0 -E !sss=cn "(objectclass=*)" dn cn roomnumber Virtual List View error (76) Additional information: The VLV and sort controls cannot be processed
==> /var/log/dirsrv/slapd-ca1/errors <== [04/Feb/2014:09:28:08 -0800] - ERROR: The VLV and sort controls cannot be processed when more than one backend is involved. VLV indexes that will never be used should be removed.
Metadata Update from @nhosoi: - Issue set to the milestone: 1.3.6 backlog
Metadata Update from @mreynolds: - Issue close_status updated to: None - Issue set to the milestone: 1.4 backlog (was: 1.3.6 backlog)
Metadata Update from @mreynolds: - Custom field reviewstatus adjusted to None - Custom field version adjusted to None - Issue tagged with: RFE
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/1503
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Login to comment on this ticket.