Persistent search

Persistent search enables LDAP clients to receive notification of changes that occur in an LDAP server. The persistent search mechanism is available to all users.

However, ACL checks are enforced on each entry that is returned. Users can retrieve only those entries or parts of entries that they have access to. Updates to the directory data that is a part of a transaction are also reported by persistent search. Since the persistent search mechanism is available to all users, it is mandatory to limit the number of concurrent persistent searches that the server handles. You must set the ibm-slapdMaxPersistentSearches option in the configuration file.
Note: Persistent search is not supported for the subtree cn=Deleted Objects.

Although the persistent search mechanism can keep returning entries, the search size and time limits applicable for non-administrative users is applicable for persistent search as well. The size and time limits are applicable irrespective of whether the entries are returned are a part of the initial matching set or the updated ones. For instance, if the size limit is 500 and 450 entries are sent as a part of the initial result set, then after 50 update notifications, the persistent search returns LDAP_SIZELIMIT_EXCEEDED error. Similarly, if the time limit is 10 seconds, then, irrespective of whether entries are returned from the initial matching set or update notifications after 10 seconds an LDAP_TIMELIMIT_EXCEEDED error is returned.

When the persistent search mechanism is used along with paging or sorting, the paging or sorting is applicable only on the initial result set. Also, the change log plug-in must run before the persistent search plug-in, if change-log is enabled.

Note: IBM® Security Directory Server returns the OID 2.16.840.1.113730.3.4.3 for the attribute ibm-supportedcontrol in a root DSE search.

The following addition is made to the configuration file to support the persistent search mechanism:

dn: cn=Persistent Search, cn=Configuration
objectclass: top
objectclass: ibm-slapdConfigEntry
objectclass: ibm-slapdPersistentSearch
cn: Persistent Search
ibm-slapdEnablePersistentSearch:TRUE
ibm-slapdMaxPersistentSearches:100

ibm-slapdEnablePersistentSearch is a Boolean type attribute that determines whether persistent search is enabled. This attribute can be assigned a value of either TRUE or FALSE. The default value of this attribute is TRUE. The ibm-slapdMaxPersistentSearches attribute determines the maximum number of concurrent persistent searches allowed. The default value of this attribute is 100 and the maximum allowed value is 2000. For information on how to enable persistent search, see step Using Web Administration under Search settings.