Chat now with support
Chat with Support

Identity Manager 8.1 - Configuration Guide

About this guide One Identity Manager software architecture Customizing the One Identity Manager default configuration Adjusting the One Identity Manager base configuration One Identity Manager schema basics Editing the user interface
Object definitions for the user interface User interface navigation Forms for the user interface Statistics in One Identity Manager Extending the Launchpad Task definitions for the user interface Applications for configuring the user interface Icons and images for configuring the user interface Using predefined database queries
Localization in One Identity Manager Process orchestration in One Identity Manager
Setting up Job servers in Designer Configuring the One Identity Manager Service Handling processes in One Identity Manager
Tracking changes with process monitoring Conditional compilation using preprocessor conditions Scripts in One Identity Manager Reports in One Identity Manager Adding custom tables or columns to the One Identity Manager schema Web service integration SOAP Web Service One Identity Manager as SPML provisioning service provider Processing DBQueue tasks Appendix: Configuration files of the One Identity Manager Service

Reactivating DBQueue Processor tasks

If a task has to be deferred, for example, due to a processing error or if a synchronization is currently running, then the slot number in the QBMDBQueueCurrent table is set by the process itself to -1. These tasks are re-enabled if there are no more tasks in the DBQueue. At the very latest, these deferred tasks are reinstated into the DBQueue the next time the central dispatcher runs. This means deferred tasks are re-enabled at the latest once the maximum runtime has elapsed.

NOTE: Deferring DBQueue tasks is recorded in the system journal.

Bulk processing in DBQueue Processor

Table 216: Configuration Parameter for Bulk Processing in the DBQueue Processor
Configuration parameter Meaning
QBM | DBQueue | DefaultRuntime

The configuration parameter species how the length of the DBQueue Processor run. The default value is 90 seconds.

QBM | DBQueue | ChangeLimitMin

The configuration parameter defines the lower limit for modifications (insert, change or delete) within a single operation. The default value is 3,000.

QBM | DBQueue | ChangeLimitMax

The configuration parameter defines the upper limit for modifications (insert, change or delete) within a single operation. The default value is 50,000.

Some DBQueue Processor procedures are marked for bulk processing to reduce the total time required for processing DBQueue tasks. If a lot of entries are marked for bulk processing in the DBQueue, the DBQueue Processor switches from single to bulk processing.

There is a mechanism implemented that is used to decide whether switching to bulk processing as opposed to single processing would result in time savings. To do this, 25 single task processes are run and the processing time is recorded. All other entries for the task are processed in bulk and the minimum and maximum load time required for advantageous bulk processing is defined. A self optimizing calculation procedure updates the load times. Use of this method means that the DBQueue Processor must first stabilize, especially after an initial schema installation or after system modifications such as memory expansion in the database server. You can use the QBM | DBQueue | DefaultRuntime configuration parameter to specify the length of the DBQueue Processor run. The default value is 90 seconds. This corresponds to the time period that achieves the best load for the calculation procedure.

To prevent overloading when there is large amount of data, you can define limits for the result set. Control is realized using the QBM | DBQueue | ChangeLimitMin and QBM | DBQueue | ChangeLimitMax configuration parameters.

How the central dispatcher communicates with individual slots

The table QBMDBQueueSlot is responsible for communication of the central dispatcher with individual slots. The maximum number of slots available is determined during initializing of DBQueue Processor procedure. One entry per slot is created in the table QBMDBQueueSlot. The table contains information about each slot and its status as well as currently running tasks.

Table 217: Meaning of Status in Table QBMDBQueueSlot
Status Meaning
0 No activity required. Initial state (set by initializing) or end state (set by process).
1 The process is triggered to prepared central temporary tables, for example.
2 Ready for operation. The process has started but the currently no tasks exist. This is the state in which tasks can be queued.
3 Transfer to table QBMDBQueueCurrent. The process has received tasks for processing and needs to begin.
4 The process has recognized the tasks and added them.
5 The process is handling the tasks.
-1 The process was prompted to quit. Stop behavior by maximum timeout or abort on process error.
Related Topics

Communication during processing

The following example show the entries in the table QBMDBQueueSlotduring processing.

  • Slot initialization
    Slot number Status Task name
    001 0  
  • Starts the process using the central dispatcher.
    Slot number Status Task name
    001 1  
  • The process is ready for operation. Preparations, for example, for temporary tables, are complete. The slot status is regularly tested.
    Slot number Status Task name
    001 2  
  • The central dispatcher distributes tasks. The central dispatcher checks slots for readiness and enters the task from table DialogDBQueue in the table QBMDBQueueCurrent with the slot number. The status of each slots is updated once the table QBMDBQueueCurrent has taken over.
    Slot number Status Task name
    001 3 OrgRoot
  • The process recognizes a task on the basis of the status, starts processing and updates its slots' status.
    Slot number Status Task name
    001 4 OrgRoot
  • The process has completed the processing and sets slot number in the DialogDBQueueCurrent table to 0. The process changes the status of its slots to operational.
    Slot number Status Task name
    001 2  
Stop behavior by maximum timeout

Once the maximum runtime has expired, the tasks of slots in the table QBMDBQueueCurrent currently in use are still processed. No new tasks are added from the table QBMDBQueue. In the QBMDBQueueSlot table, all slots with a slot status 2 are set to the -1 status. This prompts the processes to finish and stop themselves. The central dispatcher checks whether all processes have completed and have stopped.

Related Documents