Cache management
Objects do not remain forever present or valid in the PolicyCenter database cache. Guidewire provides several caching mechanisms to verify that cache entries are still relevant. They are:
- Stale timeout
- Eviction timeout
- Cluster member object tracking
Stale timeout
A stale timeout mechanism ensures that the server instance does not use old object entries excessively. An object is stale if it has not been refreshed from the database within a configurable amount of time. Upon accessing a cache entry, the server instance calculates the duration since the object was last read from the database. If that duration exceeds the stale time, the server instance refreshes the cache entry from the database.
To avoid increased complexity, PolicyCenter prefers this mechanism over evicting objects upon stale timeout. You can set a default stale time by adjusting the GlobalCacheStaleTimeMinutes parameter in config.xml.
Eviction timeout
A PolicyCenter evict timeout mechanism removes old objects from the cache. For example, an object has an evict time of 15 minutes and a stale time of 30 minutes. If the server uses the object a single time every 14 minutes, PolicyCenter never evicts the cache entry, but the entry does eventually become stale.
You can set the default evict time by adjusting the
GlobalCacheReapingTimeMinutes parameter in
config.xml. In the base configuration Guidewire sets the
value of GlobalCacheReapingTimeMinutes to 15 minutes. The minimum
value for this parameter is 1 minute. The effective maximum value for parameter
GlobalCacheReapingTimeMinutes is the lesser of its set
value or the value of GlobalCacheStaleTimeMinutes
parameter.
Cluster member object tracking
Upon receipt of an inter-cluster message indicating that a cluster member changed an object value, the other cluster members mark the corresponding entry in the cache as obsolete. The object value then becomes available for reuse.
