Recovery Script

Purpose

The Appian engines synchronously store write transactions in the Kafka component of the Internal Messaging Service as they are applied. When an engine restarts after either an unclean shutdown or after being cleanly shut down with the –quick option, the engine will need to replay these transactions as part of its startup process. Occasionally, there is an error during this transaction replay that halts startup. When this occurs it is usually necessary to truncate the transaction log before the problematic transaction in order to restart the engine.

Run this script when a transaction replay error prevents starting an engine and you need to truncate the transaction log before that point. When possible, the decision to use the recovery script should be made in consultation with Appian Support.

If you have a running instance of the engine in question that is already past the bad transaction in the log, instead of truncating the transaction log you should checkpoint that engine and then re-attempt to start the replica copy of the engine.

Location

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

Options

Short Name Long Name Required Meaning
-h –help No Show usage information
-p –password Yes Password for Admin REST API
-ni –no-import No Do not reimport transactions into the log
-s –service Yes The K service to recover
-t –last-transaction No The max transaction id in the transaction logs to keep

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

You must either specify the --last-transaction or --no-import parameters.

Usage

1
./recovery.sh -p <password> -s content -t 100
FEEDBACK