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.
<APPIAN_HOME>/services/bin/recovery.sh (.bat)
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: analytics00
…analytics31
, channels
, content
, download-stats
, execution00
…execution31
, forums
, groups
, notifications
, notifications-email
, portal
, process-design
.
You must either specify the --last-transaction
or --no-import
parameters.
1
./recovery.sh -p <password> -s content -t 100
Recovery Script