This topic lists and explains the disk store configuration parameters in VMware Tanzu GemFire.
You define your disk stores by using the gfsh create disk-store
command or in <disk-store>
subelements of your cache declaration in cache.xml
. All disk stores are available for use by all of your regions and queues.
These <disk-store>
attributes and subelements have corresponding gfsh create disk-store
command-line parameters as well as getter and setter methods in the org.apache.geode.cache.DiskStoreFactory
and org.apache.geode.cache.DiskStore
APIs.
disk-store attribute | Description | Default |
---|---|---|
name |
String used to identify this disk store. All regions and queues select their disk store by specifying this name. | DEFAULT |
allow-force-compaction |
Boolean indicating whether to allow manual compaction through the API or command-line tools. | false |
auto-compact |
Boolean indicating whether to automatically compact a file when its live data content percentage drops below the compaction-threshold . |
true |
compaction-threshold |
Percentage (0..100) of live data (non-garbage content) remaining in the operation log, below which it is eligible for compaction. As garbage is created (by entry destroys, entry updates, and region destroys and creates) the percentage of remaining live data declines. Falling below this percentage initiates compaction if auto-compaction is turned on. If not, the file will be eligible for manual compaction at a later time. | 50 |
disk-usage-critical-percentage |
Disk usage above this threshold generates an error message and shuts down the member's cache. For example, if the threshold is set to 99%, then falling under 10 GB of free disk space on a 1 TB drive generates the error and shuts down the cache. Set to "0" (zero) to deactivate. |
99 |
disk-usage-warning-percentage |
Disk usage above this threshold generates a warning message. For example, if the threshold is set to 90%, then on a 1 TB drive falling under 100 GB of free disk space generates the warning. Set to "0" (zero) to deactivate. |
90 |
max-oplog-size |
Maximum size, in megabytes, for an oplog file. When the oplog file reaches this size, the file is rolled over to a new file. | 1024 |
queue-size |
For asynchronous queueing. The maximum number of operations to allow into the write queue before automatically flushing the queue. Operations that would add entries to the queue block until the queue is flushed. A value of zero implies no size limit. Reaching this limit or the time-interval limit will cause the queue to flush. | 0 |
time-interval |
For asynchronous queueing. The number of milliseconds that can elapse before data is flushed to disk. Reaching this limit or the queue-size limit causes the queue to flush. | 1000 |
write-buffer-size |
Size of the buffer, in bytes, used to write to disk. | 32768 |
segments |
Number of segments to organize regions and buckets into. | CPU count |
disk-store sub-element | Description | Default |
---|---|---|
<disk-dirs> |
Defines the system directories where the disk store is written and their maximum sizes. | “. ” with no size limit |
The <disk-dirs>
element defines the host system directories to use for the disk store. It contains one or more single <disk-dir>
elements with the following contents:
disk-dir
element.dir-size
attribute specifying the maximum amount of space, in megabytes, to use for the disk store in the directory. By default, there is no limit. The space used is calculated as the combined sizes of all oplog files.You can specify any number of disk-dir
sub-elements to the disk-dirs
element. The data is spread evenly among the active disk files in the directories, keeping within any limits you set.
Example:
<disk-dirs>
<disk-dir>/host1/users/gf/memberA_DStore</disk-dir>
<disk-dir>/host2/users/gf/memberA_DStore</disk-dir>
<disk-dir dir-size="20480">/host3/users/gf/memberA_DStore</disk-dir>
</disk-dirs>
Note: The directories must exist when the disk store is created or the system throws an exception. Tanzu GemFire does not create directories.
Use different disk-dir specifications for different disk stores. You cannot use the same directory for the same named disk store in two different members.