Name | Type | Default | Description |
---|---|---|---|
open-files-limit | int | 1000 | Max number of data files opened for reading (current log file, compaction output and index segments are not included here). |
compaction-threshold | double | 0.5 | If amount of unused space in some data file gets above this threshold, the file is compacted - entries from that file are copied to a new file and the old file is deleted. |
index?
Configure where and how should be the index stored.
Name | Type | Default | Description |
---|---|---|---|
path | string | Infinispan-SotfIndexFileStore-Index | A location where the store keeps index - this does not have be persistent across restarts, and SSD storage is recommended (the index is accessed randomly). |
segments | int | 3 | Number of index segment files. Increasing this value improves throughput but requires more threads to be spawned. |
max-queue-length | int | 1000 | Max number of entry writes that are waiting to be written to the index, per index segment. |
max-node-size | int | 4096 | Max size of node (continuous block on filesystem used in index implementation), in bytes. |
min-node-size | int | 4096 | If the size of node (continuous block on filesystem used in index implementation) drops below this threshold, the node will try to balance its size with some neighbour node, possibly causing join of multiple nodes. |
data?
Configure where and how should be the entries stored - this is the persistent location.
Name | Type | Default | Description |
---|---|---|---|
path | string | Infinispan-SoftIndexFileStore-Data | A location on disk where the store writes entries. Files are written sequentially, reads are random. |
max-file-size | int | 16777216 | Max size of single file with entries, in bytes. |
sync-writes | boolean | false | If true, the write is confirmed only after the entry is fsynced on disk. |
Name | Type | Default | Description |
---|---|---|---|
name | string | Unused XML attribute | |
shared | boolean | false | This setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store. |
preload | boolean | false | If true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process. |
passivation | boolean | true | If true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. |
fetch-state | boolean | true | If true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled. |
purge | boolean | true | If true, purges this cache store when it starts up. |
singleton | boolean | false | If true, the singleton store cache store is enabled. SingletonStore is a delegating cache store used for situations when only one instance in a cluster should interact with the underlying store. |
read-only | boolean | false | If true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store. |
write-behind?
Configures a cache store as write-behind instead of write-through.
Name | Type | Default | Description |
---|---|---|---|
flush-lock-timeout | int | 1 | Timeout to acquire the lock which guards the state to be flushed to the cache store periodically. |
modification-queue-size | int | 1024 | Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries |
shutdown-timeout | int | 25000 | Timeout in milliseconds to stop the cache store. |
thread-pool-size | int | 1 | Size of the thread pool whose threads are responsible for applying the modifications to the cache store. |
property*
A cache store property with name and value.