DN Partition plug-in

Security Verify Directory provides the option to load customer written partitioning function during server run time. The existing hash algorithm that is used to partition data is statically linked by Security Verify Directory. However, with DN partitioning function implemented as a plug-in, the hash algorithm can be easily replaced resulting in Security Verify Directory being more flexible and adaptive.

The existing hash algorithm however remains as the default partitioning plug-in. It is loaded during server startup if no customized code is available. This feature incorporates an attribute that is called ibm-slapdDNPartitionPlugin in the objectclass ibm-slapdProxyBackend. It is a required and single-valued attribute, which means that only one DN partitioning plug-in is allowed for a Proxy Server back-end. The value of the attribute consists of a path by using which a customized DN partitioning module is loaded and an initialization function by using which a user-provided DN partitioning function is registered.

The initialization function is called when the DN partitioning plug-in is loaded during Proxy Server startup time. By loading the dynamically loadable plug-in module, the functions that are defined in the module get assigned with function addresses by the loader. By running this initialization function, the address of the partitioning function that is registered in the initialization function gets stored in the Proxy Server Back-end. The registered DN partitioning function, later on, is called by Proxy Router to route requests to target servers.

Note:
  • The DIT that is populated by Proxy Server that is using one partitioning algorithm is inaccessible by the Proxy Server that is using a different partitioning algorithm. Once the DIT is populated, the partition plug-in must not be changed. If you need to change the partition plug-in, then the data must be reloaded. Data that is loaded for an earlier version of IBM® Security Directory Server does not work with a custom DN partitioning plug-in in Version 6.2 and later versions, unless the default plug-in is used in Version 6.2 and later.
  • It is essential to note that to you use a customized plug-in, it must be set before you run the ddsetup command.