Apache Geode CHANGELOG

Disk Store Configuration Parameters

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 Configuration Attributes and Elements

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 disable.

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 disable.

90
max-oplog-size The largest size, in megabytes, to allow an operation log to become before automatically rolling to a new file. This size is the combined sizes of the oplog files. 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
disk-store subelement Description Default
<disk-dirs> Defines the system directories where the disk store is written and their maximum sizes. . with no size limit

disk-dirs Element

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:

  • The directory specification, provided as the text of the disk-dir element.
  • An optional 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 subelements 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. Geode 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.