When a composed attribute plugin is created in the server, it takes effect immediately and starts creating values for any appropriate add, modify, and modify DN operations. However, existing entries will not automatically be populated with generated values. This can be achieved by exporting the data to LDIF and re-importing it, but this would require temporarily taking each instance out of service since importing into a single instance will have no effect on the data in other instances. The LDIF import option is really only feasible when you are starting from scratch, not when you have existing data. To address this need, a “populate composed attribute values” task is provided. This task iterates through all entries in one or more backends and generates values as appropriate for any entries.

This task provides several number of configuration attributes, including the following:
  • ds-task-populate-composed-attribute-plugin-config - An optional, multi-valued attribute that can be used to specify the names or DNs of the composed attribute plugin configuration entries for which values should be generated. If this attribute is omitted, then values will be generated for all defined and enabled composed attribute plugin instances.
  • ds-task-populate-composed-attribute-backend-id - An optional, multi-valued attribute that may be used to specify the backend IDs of the backends in which values should be generated. If this attribute is omitted, then an appropriate set of backends will be determined based on the include and exclude base DNs for the selected plugins.
  • ds-task-populate-composed-attribute-max-rate-per-second - An optional, single-valued integer attribute that can be used to specify the maximum number of entries to be updated per second. If this attribute is omitted, then no rate limit will be imposed.

The task uses the same logic that the plugin uses for entries imported from LDIF when deciding what values to include in the entry, but it will use internal modify operations to make any necessary updates to the entry. These changes will be replicated to other servers in the topology, so the task only needs to be invoked on a single instance. However, it is recommended running it only after the composed attribute plugins have been configured on all instances in the topology, as this will ensure that no entries (including those added or updated while the task is running) are overlooked.

A populate-composed-attribute-values command-line tool that can be used to invoke the task and monitor its progress is provided. Since this processing is not expected to be needed on a regular basis, this is not offered as a recurring task.