Reproducer by Endi Sukma Dewata.
It looks like the warning is generated if the VLV is reindexed when the subtree is empty. Here's a way to reproduce the problem without PKI: 1. Create a DS instance: $ setup-ds.pl --silent --\ General.FullMachineName=$HOSTNAME\ General.SuiteSpotUserID=nobody\ General.SuiteSpotGroup=nobody\ slapd.ServerPort=389\ slapd.ServerIdentifier=instance\ slapd.Suffix=dc=example,dc=com\ slapd.RootDN="cn=Directory Manager"\ slapd.RootDNPwd=Secret123 2. Add an entry and a VLV index based on that entry: $ ldapadd -x -D 'cn=Directory Manager' -W << EOF dn: ou=test,dc=example,dc=com objectClass: top objectClass: organizationalUnit ou: test dn: cn=test,cn=userRoot,cn=ldbm database,cn=plugins,cn=config objectClass: top objectClass: vlvSearch cn: test vlvBase: ou=test,dc=example,dc=com vlvScope: 1 vlvFilter: (cn=*) dn: cn=testIndex,cn=test,cn=userRoot,cn=ldbm database,cn=plugins,cn=config objectClass: top objectClass: vlvIndex cn: testIndex vlvSort: cn vlvEnabled: 0 vlvUses: 0 EOF 3. Stop the instance: $ systemctl stop dirsrv@instance.service 4. Check ancestorid.db: $ dbscan -f /var/lib/dirsrv/slapd-instance/db/userRoot/ancestorid.db -r -n =1 9 2 3 4 5 6 7 8 9 10 =3 4 6 7 8 9 5. Reindex the VLV while the subtree is empty: $ vlvindex -Z instance -n userRoot -T testIndex [26/Jul/2016:20:50:47 +0200] - WARNING: Import is running with nsslapd-db-private-import-mem on; No other process is allowed to access the database [26/Jul/2016:20:50:47 +0200] - check_and_set_import_cache: pagesize: 4096, pages: 495194, procpages: 57641 [26/Jul/2016:20:50:47 +0200] - Import allocates 792308KB import cache. [26/Jul/2016:20:50:47 +0200] - userRoot: Indexing VLV: testIndex [26/Jul/2016:20:50:47 +0200] - warning: ancestorid not indexed on 10; possibly, the entry id 10 has no descendants yet. [26/Jul/2016:20:50:47 +0200] - userRoot: Finished indexing. [26/Jul/2016:20:50:47 +0200] - All database threads now stopped Notice that the warning appears for entry #10. 6. Check id2entry.db: $ dbscan -f /var/lib/dirsrv/slapd-instance/db/userRoot/id2entry.db id 10 rdn: ou=test objectClass: top objectClass: organizationalUnit ou: test creatorsName: cn=directory manager modifiersName: cn=directory manager createTimestamp: 20160726184938Z modifyTimestamp: 20160726184938Z nsUniqueId: a49c0487-536111e6-a99ab685-0e752cad parentid: 1 entryid: 10 Entry #10 is the base of the VLV. 7. Check ancestorid.db again: $ dbscan -f /var/lib/dirsrv/slapd-instance/db/userRoot/ancestorid.db -r -n =1 9 2 3 4 5 6 7 8 9 10 =3 4 6 7 8 9 It produces the same output as in step #4.
I could reproduce the issue with the reproducer and verified the warning makes sense (vlvbase ou=test,dc=example,dc=com has no descendants yet) and it is benign.
We are going to lower the log level and make the message cleaner.
git patch file (master) 0001-Ticket-48940-DS-logs-have-warning-ancestorid-not-ind.patch
Reviewed by William (Thanks!!)
Pushed to master: 0e4a9a6..17dc978 master -> master commit 17dc978
Metadata Update from @nhosoi: - Issue assigned to nhosoi - Issue set to the milestone: 1.3.5.12
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/1999
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.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)
Login to comment on this ticket.