PingDirectory

Index the LDAP changelog

About this task

The PingDirectory server and the Nokia 8661 Directory Server (3.0 or later) both support attribute indexing in the changelog backend to enable get changelog batch requests to filter results that include only changes of specific attributes. For example, in an entry balanced proxy deployment, PingDataSync sends a get changelog batch request to the PingDirectoryProxy server, which will send out individual requests to each backend server.

Each directory server that receives a request must iterate over the whole range of changelog entries, and then match entries based on search criteria for inclusion in the batch. The majority of this processing involves determining whether a changelog entry includes changes to a particular attribute or set of attributes, or not. Changelog indexing can dramatically speed up throughput when targeting specific attributes.

Attribute indexing is configured using the index-include-attribute and index-exclude-attribute properties on the changelog backend. The properties can accept the specific attribute name or special Lightweight Directory Access Protocol (LDAP) values "*" to specify all user attributes or "+" to specify all operational attributes.

Perform the following steps to configure changelog indexing:

Steps

  1. On all source directory servers, enable changelog indexing for the attributes that will be synchronized. Use the index-include-attribute and index-exclude-attribute properties. The following example specifies that all user attributes (index-include-attribute:*) be indexed in the changelog, except the description and location attributes (index-exclude-attribute:description and index-exclude-attribute:location).

    $ bin/dsconfig set-backend-prop --backend-name changelog \
      --set "index-include-attribute:*" \
      --set "index-exclude-attribute:description \
      --set "index-exclude-attribute:location

    There is little performance and disk consumption penalty when using index-include-attribute:* with a combination of index-exclude-attribute properties, instead of explicitly defining each attribute using index-include-attribute. The only cautionary note about using index-include-attribute:* is to be careful that unnecessary attributes get indexed.

  2. On PingDataSync, configure the auto-map-source-attributes property to specify the mappings for the attributes that need to be synchronized.

Result

PingDataSync will write a NOTICE message to the error log when the Sync Pipe first starts, indicating whether the server is using changelog indexing or not.

[30/Mar/2016:13:21:36.781 -0500] category=SYNC severity=NOTICE
msgID=1894187256 msg="Sync Pipe 'TestPipe' is not using changelog indexing on
the source server"