Coalesce Modifications Plugin

Note: this component has a complexity level of "expert", which means that objects of this type are not expected to be created or altered. Please contact support for assistance if you believe that you have a need to create or modify this type of object.

This capability is experimental, and it should only be used at the direction of Ping Identity. For modify operations that match the specified criteria, the Coalesce Modifications Plugin coalesces modifications to the same entry into a single modify operation that is performed by a background thread.

One use case for this plugin is increasing the throughput of bulk updates to large static groups. The expensive part of updating a large static group is updating the in-memory group membership cache. By coalescing multiple group membership modifications into a single modify request that is executed in the background, the cost of updating the in-memory group membership cache is amortized over several updates.

It is critical to configure the request criteria to only match the requests that should be coalesced. Typically, this criteria includes the type of entry being modified, the attributes being modified, and the client performing the modification.

Many request controls attached to the matched modify request will not behave as expected since the coalesced modify request performed in the background will not include any controls. The request criteria can be configured to not match requests that include certain controls.

Extensive monitoring information is included in a monitor entry with an objectclass of ds-coalesce-modifications-plugin-monitor-entry within the cn=monitor LDAP subtree.

Parent Component Relations from This Component Properties dsconfig Usage

Parent Component

The Coalesce Modifications Plugin component inherits from the Plugin

Relations from This Component

The following components have a direct aggregation relation from Coalesce Modifications Plugins:

Properties

The properties supported by this managed object are as follows:


Basic Properties: Advanced Properties:
 description  invoke-for-internal-operations
 enabled
 request-criteria
 allowed-request-control

Basic Properties

description

Description
A description for this Plugin
Default Value
None
Allowed Values
A string
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

enabled

Description
Indicates whether the plug-in is enabled for use.
Default Value
None
Allowed Values
true
false
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

request-criteria

Description
A reference to request criteria that indicates which modify requests should be coalesced.
Default Value
None
Allowed Values
The DN of any Request Criteria.
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

allowed-request-control

Description
Specifies the OIDs of the controls that are allowed to be present in operations to coalesce. These controls are passed through when the request is validated, but they will not be included when the background thread applies the coalesced modify requests.
Default Value
None
Allowed Values
A string
Multi-Valued
Yes
Required
No
Admin Action Required
None. Modification requires no further action


Advanced Properties

invoke-for-internal-operations (Advanced Property)

Description
Indicates whether the plug-in should be invoked for internal operations. Any plug-in that can be invoked for internal operations must ensure that it does not create any new internal operations that can cause the same plug-in to be re-invoked.
Default Value
false
Allowed Values
true
false
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action


dsconfig Usage

To list the configured Plugins:

dsconfig list-plugins
     [--property {propertyName}] ...

To view the configuration for an existing Plugin:

dsconfig get-plugin-prop
     --plugin-name {name}
     [--tab-delimited]
     [--script-friendly]
     [--property {propertyName}] ...

To update the configuration for an existing Plugin:

dsconfig set-plugin-prop
     --plugin-name {name}
     (--set|--add|--remove) {propertyName}:{propertyValue}
     [(--set|--add|--remove) {propertyName}:{propertyValue}] ...

To create a new Coalesce Modifications Plugin:

dsconfig create-plugin
     --plugin-name {name}
     --type coalesce-modifications
     --set enabled:{propertyValue}
     --set request-criteria:{propertyValue}
     [--set {propertyName}:{propertyValue}] ...

To delete an existing Plugin:

dsconfig delete-plugin
     --plugin-name {name}