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
-
On all source directory servers, enable changelog indexing for the attributes that will be synchronized. Use the
index-include-attribute
andindex-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
andindex-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 ofindex-exclude-attribute
properties, instead of explicitly defining each attribute usingindex-include-attribute
. The only cautionary note about usingindex-include-attribute:*
is to be careful that unnecessary attributes get indexed. -
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"