Checkpoint Script

Purpose

The checkpoint script allows you to manually request a checkpoint for a given service.

Checkpointing will automatically happen periodically based on the estimated replay time should the engine restart and the total amount of time since the last successful checkpoint. Automatic checkpointing cannot be disabled.

However, there are a few cases where you would want to run the checkpoint script yourself. First, if you want more control over what time of day checkpoints occur. If you only have one running instance of a given engine, the checkpointing process causes a brief disruption of service for that engine while the checkpoint completes, which can take several seconds or minutes. If you have more than one running instance of an engine, a replica instance will perform the checkpoint, leaving the engine available throughout the checkpoint process. To force checkpointing to occur outside of your peak load hours, you can run this script on a cronjob or as a Windows Scheduled Task off-hours to reset the timers that trigger the automatic checkpointing.

Second, it is sometimes necessary to re-sync the in-memory copy of an engine to the .kdb file on disk the so that other instances of the engine can start up from it rather than from the transaction log.

Location

<APPIAN_HOME>/services/bin/checkpoint.sh (.bat)

Options

Short Name Long Name Required Meaning
-h –help No Show usage information
-p –password Yes Password for Admin REST API
-s –services Yes A comma-separated list of engines to checkpoint. See below for possible values.
-w –wait No Wait for the requested checkpoints to complete

Available values for the --services parameter: all, analytics00analytics15, channels, content, download-stats, execution00execution015, forums, groups, notifications, notifications-email, portal, process-design.

Usage

This script will only have an effect when run on the same server that hosts the primary instance of a service.

1
./checkpoint.sh -p <password> -s content
FEEDBACK