FIFO Entry Cache

FIFO Entry Caches use a FIFO queue to keep track of the cached 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 the maximum length of time to block while waiting to acquire a lock, and 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.

Parent

The FIFO Entry Cache object inherits from Entry Cache.

Properties

Use the --advanced option to access advanced properties.

Basic Properties

cache-level

SynopsisSpecifies the cache level in the cache order if more than one instance of the cache is configured.
Default ValueNone
Allowed ValuesAn integer. Lower limit: 1.
Multi-valuedNo
RequiredYes
Admin Action RequiredNone
AdvancedNo
Read-OnlyNo

enabled

SynopsisIndicates whether the Entry Cache is enabled.
Default ValueNone
Allowed Valuestrue
false
Multi-valuedNo
RequiredYes
Admin Action RequiredNone
AdvancedNo
Read-OnlyNo

exclude-filter

SynopsisThe set of filters that define the entries that should be excluded from the cache.
Default ValueNone
Allowed ValuesA string.
Multi-valuedYes
RequiredNo
Admin Action RequiredNone
AdvancedNo
Read-OnlyNo

include-filter

SynopsisThe set of filters that define the entries that should be included in the cache.
Default ValueNone
Allowed ValuesA string.
Multi-valuedYes
RequiredNo
Admin Action RequiredNone
AdvancedNo
Read-OnlyNo

max-entries

SynopsisSpecifies the maximum number of entries that we will allow in the cache.
Default Value2147483647
Allowed ValuesAn integer. Lower limit: 0.
Multi-valuedNo
RequiredNo
Admin Action RequiredNone
AdvancedNo
Read-OnlyNo

max-memory-percent

SynopsisSpecifies the maximum percentage of JVM memory used by the server before the entry caches stops caching and begins purging itself.
DescriptionVery low settings such as 10 or 20 (percent) can prevent this entry cache from having enough space to hold any of the entries to cache, making it appear that the server is ignoring or skipping the entry cache entirely.
Default Value90
Allowed ValuesAn integer. Lower limit: 1. Upper limit: 100.
Multi-valuedNo
RequiredNo
Admin Action RequiredNone
AdvancedNo
Read-OnlyNo

Advanced Properties

java-class

SynopsisSpecifies the fully-qualified name of the Java class that provides the FIFO Entry Cache implementation.
Default Valueorg.opends.server.extensions.FIFOEntryCache
Allowed ValuesA Java class that extends or implements:
org.opends.server.api.EntryCache
Multi-valuedNo
RequiredYes
Admin Action RequiredThe object must be disabled and re-enabled for changes to take effect.
AdvancedYes
Read-OnlyNo

lock-timeout

SynopsisSpecifies the length of time to wait while attempting to acquire a read or write lock.
Default Value2000.0ms
Allowed ValuesA duration. Use "unlimited" or "-1" to indicate no limit. Lower limit: 0 milliseconds.
Multi-valuedNo
RequiredNo
Admin Action RequiredNone
AdvancedYes
Read-OnlyNo