Terracotta Client Properties

Client configuration properties typically address the behavior, size, and functionality of in-memory data stores. Others affect certain types of cache-related bulk operations.

See also How Server Settings Can Override Client Settings.

Properties are set in ehcache.xml except as noted.

General Settings

The following default settings affect in-memory data.

Property Default Value Notes
value mode SERIALIZATION  
consistency EVENTUAL  
XA false  
orphan eviction true  
local key cache false  
synchronous writes false  
ttl 0 0 means never expire.
tti 0 0 means never expire.
transactional mode off  
persistence strategy none  
maxEntriesInCache 0 0 means that the cache will not undergo capacity eviction (but periodic and resource evictions are still allowed)
maxBytesLocalHeap 0  
maxBytesLocalOffHeap 0  
maxEntriesLocalHeap 0 0 means infinite.

NonStop Cache

The following default settings affect the behavior of the cache when while the client is disconnected from the cluster. For more information on these settings, see Configuring Nonstop Cache.

Property Default Value Notes
enable
false  
timeout behavior
exception  
timeout
30000ms  
net.sf.ehcache.nonstop 
bulkOpsTimeoutMultiply 
Factor
10

This value is a timeout multiplication factor affecting bulk operations such as removeAll() and getAll(). Since the default nonstop timeout is 30 seconds, it sets a timeout of 300 seconds for those operations. The default can be changed programmatically:

cache.getTerracottaConfiguration() 
.getNonstopConfiguration() 
.setBulkOpsTimeoutMultiplyFactor(10)
     

Bulk Operations

The following properties are shown with default values. These properties can be set to custom values using Terracotta Server Array Properties.

Increasing batch sizes may improve throughput, but could raise latency due to the load on resources from processing larger blocks of data.

Property Default Value Notes
ehcache.bulkOps.maxKBSize
1MB Batch size for bulk operations such as putAll and removeAll.
ehcache.getAll.batchSize
1000 The number of elements per batch in a getAll operation.
ehcache.incoherent.putsBatch 
ByteSize
5MB For bulk-loading mode. The minimum size of a batch in a bulk-load operation. Increasing batch sizes may improve throughput, but could raise latency due to the load on resources from processing larger blocks of data.
ehcache.incoherent.putsBatch 
TimeInMillis
600 ms For bulk-loading mode. The maximum time the bulk-load operation takes to batch puts before flushing to the Terracotta Server Array.