How to limit the number of results returned by a query using DRA

  • 7018165
  • 17-Oct-2016
  • 19-Oct-2016

Environment

Directory and Resource Administrator 9.0
Directory and Resource Administrator 9.0.1
Directory and Resource Administrator 9.0.2

Situation

Within the normal usage of Directory and Resource Administrator (DRA) the end users (Assistant Admins) will often request more than one AD object be returned from a query. A few examples of these queries could be:

  1. Searching for any object that matches a broad criteria
  2. Previewing the objects manged by an active view
  3. Displaying the members of a large group


Resolution

The search feature of DRA can be configured using the Delegation and Configuration Console (D&C Console)
  1. Connect the D&C console to the Primary DRA Server while logged on as the DRA Service account, or other account with DRA Administration powers.
  2. Right click on the Configuration management and choose Update Administration Server Options
  3. Click the Client Options
  4. From the client options the ability exists to control various features of the client display
  5. Settings that can directly impact DRA performance
    • Restrict the number of items returned within a list via the Maximum number of items show in a list
    • Restrict the ability to search on All objects
    • Restrict the ability to search on any attribute (known as a column)
  6. Click ok to save the settings
  7. The settings will replicate to all secondary DRA servers during a MMS sync

Cause

In order for DRA to display the search results back via the console, they must first be stored within the requesting DRA Server's RAM. The space used to store the results is known as a pool. Each result set must be stored within the pool. If the existing pool size is not large enough to accommodate the results, it's size; and subsequent RAM usage will be extended. If the space reserved for the pool is currently occupied by existing results, that space is not available for the next set of results. The type of console used to to request the results also has an impact on how long the results will be resident within the pool. Search results requested via the 32 bit Delegation and Configuration Console or ARM console the spaced used in the pool to store those results will be released quickly after they are returned to the console. When the REST Web Console is used to search those results remain resident within the pool for a set amount of time. After a fixed amount of time; which is 15 mins by default has passed the space used by the results will be returned to the pool.

There is an existing check in place to only allow the pool size to grow up to a certain size. This prevents the pool size from exceeding the ram size allocated to the DRA Administration Service (MCSAdminSVC.exe). However the pool size is not the only DRA feature or operation that can utilize RAM. Other operations that also have to share the ram with the pool could include:

  1. DRA Accounts or Domain Configuration Request processing
  2. AD write operations performed using DRA
  3. DRA Security Model details

The above features or operations and the search results pool are all limited to one set RAM pool allocated by the OS to the DRA Service. This pool is limited to only 4 GB in size. If there is not enough RAM available to the DRA Service when an operation is attempted the service may stop unexpectedly.