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.