Periodic GC 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.

The Periodic GC Plugin may be used to cause the Directory Server to periodically invoke a forced garbage collection in the JVM. It may be used in the event that it has been determined that a full garbage collection is unavoidable and the administrator wants to explicitly schedule the time(s) when garbage collection processing should be explicitly invoked.

Whenever the Directory Server is to explicitly invoke a garbage collection, it will first generate an administrative alert indicating that is about to perform the garbage collection, and it will also update the general monitor entry to add an unavailable-alert-type value of "force-gc-starting". It will then optionally wait for some period of time before beginning the garbage collection, which may allow systems consuming alert notifications (e.g., a Ping Identity Directory Proxy Server instance) to receive and process that alert notification before the server actually invokes the garbage collection processing and becomes unavailable. After the garbage collection processing has completed, the server will remove the "force-gc-starting" value from the unavailable-alert-type attribute of the general monitor entry, and will generate an additional administrative alert indicating that the garbage collection processing has completed.

Parent Component Properties dsconfig Usage

Parent Component

The Periodic GC Plugin component inherits from the Plugin

Properties

The properties supported by this managed object are as follows:


Basic Properties: Advanced Properties:
 description  plugin-type
 enabled  invoke-for-internal-operations
 invoke-gc-day-of-week
 invoke-gc-time-utc
 delay-after-alert
 delay-post-gc

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

invoke-gc-day-of-week

Description
Specifies the days of the week which the Periodic GC Plugin should run. If no values are provided, then the plugin will run every day at the specified time. Note that the day of week is interpreted in the UTC time zone, as is the invoke-gc-time-utc property. This means that if you wanted to schedule a server in Chicago (UTC -600) for a 10:00 PM garbage collection on Saturday, for example, you would have to set this property to "sunday" and the invoke-gc-time-utc to 04:00.
Default Value
The Periodic GC Plugin will run every day of the week.
Allowed Values
sunday - Indicates that the Periodic GC Plugin will run at the specified time(s) on Sundays.

monday - Indicates that the Periodic GC Plugin will run at the specified time(s) on Mondays.

tuesday - Indicates that the Periodic GC Plugin will run at the specified time(s) on Tuesdays.

wednesday - Indicates that the Periodic GC Plugin will run at the specified time(s) on Wednesdays.

thursday - Indicates that the Periodic GC Plugin will run at the specified time(s) on Thursdays.

friday - Indicates that the Periodic GC Plugin will run at the specified time(s) on Fridays.

saturday - Indicates that the Periodic GC Plugin will run at the specified time(s) on Saturdays.
Multi-Valued
Yes
Required
No
Admin Action Required
None. Modification requires no further action

invoke-gc-time-utc

Description
Specifies the times of the day at which garbage collection may be explicitly invoked. The times should be specified in "HH:MM" format, with "HH" as a two-digit numeric value between 00 and 23 representing the hour of the day, and MM as a two-digit numeric value between 00 and 59 representing the minute of the hour. All times will be interpreted in the UTC time zone.
Default Value
None
Allowed Values
Desired GC times in HH:MM format.
Multi-Valued
Yes
Required
Yes
Admin Action Required
None. Modification requires no further action

delay-after-alert

Description
Specifies the length of time that the Directory Server should wait after sending the "force-gc-starting" administrative alert before actually invoking the garbage collection processing. Specifying a delay greater than 0 seconds can provide an opportunity for processes consuming administrative alerts generated by the Directory Server to receive the alert and perform any appropriate processing before the server actually becomes unavailable while the garbage collection is in progress.
Default Value
1000 milliseconds
Allowed Values
A duration. Lower limit is 0 milliseconds.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

delay-post-gc

Description
Specifies the length of time that the Directory Server should wait after successfully completing the garbage collection processing, before removing the "force-gc-starting" administrative alert, which marks the server as unavailable. Specifying a delay greater than 0 seconds can provide an opportunity for processes, that were paused on the server while the garbage collection was in progress, to ramp up again before the unavailable alert is removed.
Default Value
20 seconds
Allowed Values
A duration. Lower limit is 0 milliseconds.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action


Advanced Properties

plugin-type (Advanced Property, Read-Only)

Description
Specifies the set of plug-in types for the plug-in, which specifies the times at which the plug-in is invoked.
Default Value
startup
Allowed Values
startup - Invoked during the Directory Server startup process.

shutdown - Invoked during a graceful Directory Server shutdown.

postconnect - Invoked whenever a new connection is established to the server.

postdisconnect - Invoked whenever an existing connection is terminated (by either the client or the server).

ldifimport - Invoked for each entry read during an LDIF import.

ldifexport - Invoked for each operation to be written during an LDIF export.

preparseabandon - Invoked prior to parsing an abandon request.

preparseadd - Invoked prior to parsing an add request.

preparsebind - Invoked prior to parsing a bind request.

preparsecompare - Invoked prior to parsing a compare request.

preparsedelete - Invoked prior to parsing a delete request.

preparseextended - Invoked prior to parsing an extended request.

preparsemodify - Invoked prior to parsing a modify request.

preparsemodifydn - Invoked prior to parsing a modify DN request.

preparsesearch - Invoked prior to parsing a search request.

preparseunbind - Invoked prior to parsing an unbind request.

preoperationadd - Invoked prior to performing the core add processing.

preoperationbind - Invoked prior to performing the core bind processing.

preoperationcompare - Invoked prior to performing the core compare processing.

preoperationdelete - Invoked prior to performing the core delete processing.

preoperationextended - Invoked prior to performing the core extended processing.

preoperationmodify - Invoked prior to performing the core modify processing.

preoperationmodifydn - Invoked prior to performing the core modify DN processing.

preoperationsearch - Invoked prior to performing the core search processing.

postoperationabandon - Invoked after completing the abandon processing.

postoperationadd - Invoked after completing the core add processing but before sending the response to the client.

postoperationbind - Invoked after completing the core bind processing but before sending the response to the client.

postoperationcompare - Invoked after completing the core compare processing but before sending the response to the client.

postoperationdelete - Invoked after completing the core delete processing but before sending the response to the client.

postoperationextended - Invoked after completing the core extended processing but before sending the response to the client.

postoperationmodify - Invoked after completing the core modify processing but before sending the response to the client.

postoperationmodifydn - Invoked after completing the core modify DN processing but before sending the response to the client.

postoperationsearch - Invoked after completing the core search processing but before sending the response to the client.

postoperationunbind - Invoked after completing the unbind processing.

preresponseadd - Invoked just before sending the add response to the client.

preresponsebind - Invoked just before sending the bind response to the client.

preresponsecompare - Invoked just before sending the compare response to the client.

preresponsedelete - Invoked just before sending the delete response to the client.

preresponseextended - Invoked just before sending the extended response to the client.

preresponsemodify - Invoked just before sending the modify response to the client.

preresponsemodifydn - Invoked just before sending the modify DN response to the client.

preresponsesearch - Invoked just before sending the search result done response to the client.

postresponseadd - Invoked after sending the add response to the client.

postresponsebind - Invoked after sending the bind response to the client.

postresponsecompare - Invoked after sending the compare response to the client.

postresponsedelete - Invoked after sending the delete response to the client.

postresponseextended - Invoked after sending the extended response to the client.

postresponsemodify - Invoked after sending the modify response to the client.

postresponsemodifydn - Invoked after sending the modify DN response to the client.

postresponsesearch - Invoked after sending the search result done message to the client.

postsynchronizationadd - Invoked after completing post-synchronization processing for an add operation.

postsynchronizationdelete - Invoked after completing post-synchronization processing for a delete operation.

postsynchronizationmodify - Invoked after completing post-synchronization processing for a modify operation.

postsynchronizationmodifydn - Invoked after completing post-synchronization processing for a modify DN operation.

searchresultentry - Invoked before sending a search result entry to the client.

searchresultreference - Invoked before sending a search result reference to the client.

subordinatemodifydn - Invoked in the course of moving or renaming an entry subordinate to the target of a modify DN operation.

intermediateresponse - Invoked before sending an intermediate response message to the client.
Multi-Valued
Yes
Required
Yes
Admin Action Required
The Periodic GC Plugin must be disabled and re-enabled for changes to this setting to take effect. In order for this modification to take effect, the component must be restarted, either by disabling and re-enabling it, or by restarting the server

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
true
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 Periodic GC Plugin:

dsconfig create-plugin
     --plugin-name {name}
     --type periodic-gc
     --set enabled:{propertyValue}
     --set invoke-gc-time-utc:{propertyValue}
     [--set {propertyName}:{propertyValue}] ...

To delete an existing Plugin:

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