PingDirectory

Configuring uncached attributes and entries

Configure uncached attributes and entries.

About this task

The following procedure assumes that the uncached-id2entry-cache-mode property is set to the default value, cache-keys-only. For more information on the uncached-id2entry cache modes, see the PingDirectory Server Configuration Reference.

Steps

  1. Run dsconfig to uncache entries that match the criteria.

    Example:

    $ bin/dsconfig create-uncached-entry-criteria \
      --criteria-name "Fully Uncached l=austin" --type filter-based \
      --set enabled:true --set "filter:(l=austin)"

    The filter uncaches all entries that have its location set to "austin", such as l=austin.

  2. Run dsconfig to uncache attributes that match the criteria.

    The --type simple option indicates that the simple uncached attribute criteria be used to specify the attribute-type that should be uncached. For those entries that are fully stored in the uncached-id2entry database container, the uncached attribute is ignored.

    Example:

    In this example, the attribute-type criteria that should be uncached is jpegPhoto.

    $ bin/dsconfig create-uncached-attribute-criteria \
      --criteria-name "Uncached jpegPhoto" --type simple \
      --set enabled:true --set attribute-type:jpegPhoto
  3. Set the uncached properties for the userRoot backend.

    Example:

    $ bin/dsconfig set-backend-prop \
      --backend-name userRoot \
      --set "uncached-entry-criteria:Fully Uncached l=austin" \
      --set "uncached-attribute-criteria:Uncached jpegPhoto"
  4. Run the re-encode-entries tool to initiate a task that causes a local DB userRoot backend to re-encode all or a specified subset of the entries that it contains.

    The tool does not alter the entries themselves but provides a useful mechanism for applying significant changes to the way that entries are stored in the backend.

    Example:

    The following example initiates a task that re-encodes all fully-cached entries in the userRoot backend, rate-limited to no more than 100 entries per second.

    $ bin/re-encode-entries --hostname directory.example.com --port 389 \
      --bindDN uid=admin,dc=example,dc=com --bindPassword password \
      --backendID userRoot --skipFullyUncachedEntries \
      --skipPartiallyUncachedEntries --ratePerSecond 100