Disk Store Operation Logs

At creation, each operation log is initialized at the disk store's MAXLOGSIZE value, with the size divided between the crf and drf files. GemFire XD only truncates the unused space on a clean shutdown (for example, gfxd server stop or gfxd shut-down-all).

After the oplog is closed, GemFire XD also attempts to created a krf file, which contains the key names as well as the offset for the value within the crf file. Although this file is not required for startup, if it is available, it will improve startup performance by allowing GemFire XD to load the entry values in the background after the entry keys are loaded. See

When an operation log is full, GemFire XD automatically closes it and creates a new log with the next sequence number. This is called oplog rolling.
Note: Log compaction can change the names of the disk store files. File number sequencing is usually altered, with some existing logs removed or replaced by newer logs with higher numbering. GemFire XD always starts a new log at a number higher than any existing number.

The system rotates through all available disk directories to write its logs. The next log is always started in a directory that has not reached its configured capacity, if one exists.

When Disk Store oplogs Reach the Configured Disk Capacity

If no directory exists that is within its capacity limits, how GemFire XD handles this depends on whether automatic compaction is enabled.
  • If AUTOCOMPACT is enabled (set to 'true), GemFire XD creates a new oplog in one of the directories, going over the limit, and logs a warning that reports:
    Even though the configured directory size limit has been exceeded a 
    new oplog will be created. The current limit is of XXX. The current 
    space used in the directory is YYY.
    Note: When auto-compaction is enabled, directory sizes do not limit how much disk space is used. GemFire XD performs auto-compaction, which should free space, but the system may go over the configured disk limits.
  • If auto-compaction is disabled, GemFire XD does not create a new oplog. DML operations to tables block, and GemFire XD logs the error:
    Disk is full and rolling is disabled. No space can be created