FIFO Group Entry Caches use a FIFO queue to keep track of the cached entries. They are designed to cache static group entries.
Entries that have been in the cache the longest are the most likely candidates for purging if space is needed. In contrast to other cache structures, the selection of entries to purge is not based on how frequently or recently the entries have been accessed. This requires significantly less locking (it will only be required when an entry is added or removed from the cache, rather than each time an entry is accessed). Cache sizing is based on the percentage of free memory within the JVM, such that if enough memory is free, then adding an entry to the cache will not require purging, but if more than a specified percentage of the available memory within the JVM is already consumed, then one or more entries will need to be removed in order to make room for a new entry. It is also possible to configure a maximum number of entries for the cache. If this is specified, then the number of entries will not be allowed to exceed this value, but it may not be possible to hold this many entries if the available memory fills up first. Other configurable parameters for this cache include a set of filters that may be used to define criteria for determining which entries are stored in the cache. If a filter list is provided, then only entries matching at least one of the given filters will be stored in the cache.
The FIFO Group Entry Cache component inherits from the Entry Cache
A description of each property follows.
| Basic Properties: | Advanced Properties: |
|---|---|
| ↓ cache-level | ↓ java-class |
| ↓ enabled | |
| ↓ entry-cache-avg-entry-size | |
| ↓ entry-cache-eviction-size | |
| ↓ entry-cache-workflow-element | |
| ↓ exclude-filter | |
| ↓ group-dn-for-caching-membership | |
| ↓ include-filter | |
| ↓ max-entries | |
| ↓ max-memory-percent |
| Description | Specifies the cache level in the cache order if more than one instance of the cache is configured. |
|---|---|
| Default Value | None |
| Allowed Values | An integer value. Lower value is 1. |
| Multi-valued | No |
| Required | Yes |
| Admin Action Required | None |
| Advanced Property | No |
| Read-only | No |
| Description | Indicates whether the Entry Cache is enabled. |
|---|---|
| Default Value | None |
| Allowed Values | true false |
| Multi-valued | No |
| Required | Yes |
| Admin Action Required | None |
| Advanced Property | No |
| Read-only | No |
| Description | Specifies the average size of an entry (in bytes). |
|---|---|
| Default Value | 51200 |
| Allowed Values | An integer value. Lower value is 0. |
| Multi-valued | No |
| Required | No |
| Admin Action Required | None |
| Advanced Property | No |
| Read-only | No |
| Description | Specifies the maximum number of entries that will be evicted when cache is full. |
|---|---|
| Default Value | 5 |
| Allowed Values | An integer value. Lower value is 1. |
| Multi-valued | No |
| Required | No |
| Admin Action Required | None |
| Advanced Property | No |
| Read-only | No |
| Description | Specifies the name of the local backend workflow element from which entries are cached inside this entry cache instance. Specifies the name of the local backend workflow element from which entries are cached inside this entry cache instance. |
|---|---|
| Default Value | None |
| Allowed Values | The DN of any Workflow Element. |
| Multi-valued | No |
| Required | No |
| Admin Action Required | None |
| Advanced Property | No |
| Read-only | No |
| Description | The set of filters that define the groups that should be excluded from the cache. |
|---|---|
| Default Value | (objectClass=ds-virtual-static-group) |
| Allowed Values | A String |
| Multi-valued | Yes |
| Required | No |
| Admin Action Required | None |
| Advanced Property | No |
| Read-only | No |
group-dn-for-caching-membership
| Description | If defined, these are the set of Group DNs whose members will always be cached. By default, members will be cached only if they are less than or equal to group-membership-caching-threshold. But if it is desirable to cache members of certain groups whose size is greater than this threshold, then such Group DNs need to be added to this set, so that it will override the default behaviour of checking against the threshold value. |
|---|---|
| Default Value | If defined, these are the set of Group DNs whose members will always be cached. If certain groups whose members are larger than the threshold value(ie. group-membership-caching-threshold) and are desirable to be cached, then such Group DNs should be defined here. By default, no group dn is defined. |
| Allowed Values | A valid DN. |
| Multi-valued | Yes |
| Required | No |
| Admin Action Required | None |
| Advanced Property | No |
| Read-only | No |
| Description | The set of filters that define the groups that should be included in the cache. |
|---|---|
| Default Value | (|(objectClass=groupOfNames)(objectClass=groupOfUniqueNames)(objectClass=groupOfEntries)) |
| Allowed Values | A String |
| Multi-valued | Yes |
| Required | No |
| Admin Action Required | None |
| Advanced Property | No |
| Read-only | No |
| Description | Specifies the maximum number of entries that we will allow in the cache. |
|---|---|
| Default Value | 2147483647 |
| Allowed Values | An integer value. Lower value is 0. |
| Multi-valued | No |
| Required | No |
| Admin Action Required | None |
| Advanced Property | No |
| Read-only | No |
| Description | Specifies the maximum memory usage for the group entry cache as a percentage of the total JVM memory. |
|---|---|
| Default Value | 5 |
| Allowed Values | An integer value. Lower value is 1. Upper value is 100 . |
| Multi-valued | No |
| Required | No |
| Admin Action Required | None |
| Advanced Property | No |
| Read-only | No |
| Description | Specifies the fully-qualified name of the Java class that provides the FIFO Group Entry Cache implementation. |
|---|---|
| Default Value | org.opends.server.extensions.FIFOGroupCache |
| Allowed Values | A java class that implements or extends the class(es) : org.opends.server.api.EntryCache |
| Multi-valued | No |
| Required | Yes |
| Admin Action Required | The FIFO Group Entry Cache must be disabled and re-enabled for changes to this setting to take effect |
| Advanced Property | Yes |
| Read-only | No |