Chapter 25 Project Configuration for Backing Store : Configuring How Backing Store Data is Loaded at Startup

Configuring How Backing Store Data is Loaded at Startup
At system startup, one node loads data from the backing store to the cache cluster. A cache cluster is made up of all the dedicated cache servers and all the storage-enabled nodes, which act as cache servers as well as inference or query agents.
Any node in the cluster can perform the cache loading.
A Quorum of Cache Servers
Before cache loading begins, you must ensure that enough cache servers to hold the data to be loaded from the backing store. (Note that storage-enabled nodes are considered to be cache servers, in addition to dedicated cache servers.)
To do this, you specify a quorum, that is, a minimum number of cache servers that must be started before cache loading begins.
After the quorum is reached, one of the nodes in the cluster performs the cache loading. The cluster does not start processing incoming data until the required data has been loaded into the cache.
To specify this quorum of cache servers set the following property on all nodes, using the same value:
be.engine.cluster.minCacheServers
After the quorum is reached, whichever node acquires the lock first performs the cache loading. All agents wait until backing store data has finished loading before they start.
See Configuring Caching Scheme, Multi-Engine, and Cluster Properties.
The setting does not affect runtime operation of the deployed application. Deployed applications continue to run even if one or more cache servers fails and the quorum is no longer met. A warning message is written to the log file. See Reliability of Cache Object Management for related information.
Preloading Options for Cache Only Objects
Objects set to the cache mode Cache plus Memory are always loaded at startup. However you can configure preloading options for objects set to Cache Only cache mode (see Working With Cache Modes for more on cache modes).
You can configure the system so that at startup, you load all, some, or none of the Cache Only objects from the backing store into the cache. These options allow you to control the size of the cache.
Objects not loaded at startup time are loaded on an as-needed basis, when needed during an RTC, when they are not found in the cache.
To Preload All Cache-Only Objects or No Objects
To load all Cache Only objects at startup, you do nothing: this is the default behavior.
To load no objects at startup, you set the following property:
be.engine.cluster.preload=none
To Control What Is and What Is Not Preloaded
You can specify the subset using either inclusion or exclusion. Choose the method that bests suits your needs.
To include only a specific subset of objects when preloading, set the following property:
be.engine.cluster.preload=include
And specify the list of entities to load in a list as follows:
be.engine.cluster.EntityClassName.preload=true
be.engine.cluster.EntityClassName2.preload=true
To exclude a specific subset of objects from preloading, set the following property:
be.engine.cluster.preload=exclude
And specify the list of entities to exclude from the load in a list as follows:
be.engine.cluster.EntityClassName.preload=false
be.engine.cluster.EntityClassName2.preload=false
In the list of entities, replace EntityClassName with the appropriate generated class names.
You can use the function Coherence.C_ClassName() to obtain the generated class name for an object, given the entity’s project path (that is, the path to the item in the design-time project).