A.2.5. The Cached Store

The cached store uses the hashed object store, but does not read or write states to the persistent backing store immediately. It maintains the states in a volatile memory cache, flushing the cache periodically or when it is full. The failure semantics associated with this object store are different from the semantics used with the normal persistent object stores, because data about states could be lost in the event of a failure.
The type of this object store is CachedStore.

Configuration Options for the Cached Store

com.arjuna.ats.internal.arjuna.objectstore.cacheStore.hash
Sets the number of internal stores to hash the states over. The default value is 128.
com.arjuna.ats.internal.arjuna.objectstore.cacheStore.size
The maximum size the cache can reach before a flush is triggered. The default is value is 10240 bytes.
com.arjuna.ats.internal.arjuna.objectstore.cacheStore.removedItems
The maximum number of removed items that the cache can contain before a flush is triggered. By default, calls to remove a state that is in the cache actually only remove the state from the cache, leaving a blank entry. This improves performance. The entries are removed when the cache is flushed. The default value is twice the size of the hash.
com.arjuna.ats.internal.arjuna.objectstore.cacheStore.workItems
The maximum number of items the cache is able to contain before it is flushed. The default value is 100.
com.arjuna.ats.internal.arjuna.objectstore.cacheStore.scanPeriod
The length of time, in milliseconds, for periodically flushing the cache. The default is 120 seconds.
com.arjuna.ats.internal.arjuna.objectstore.cacheStore.sync
Determines whether flushes of the cache are synchronized to disk. The default is OFF, and the other possible value is ON.