The validate.bat (.sh) script checks the integrity of all Appian Engines, and is located in the following directory: <APPIAN_HOME>/server/_scripts/diagnostic/.
This script has a validateIntegrity component, which checks for the data type to determine any instances in which the actual data is different from expected data type. It also performs cyclic parent checks, column value checks, bi-directionality, and other tests such as data-leak detection. The default output of this component is the test summary and number of errors encountered. Appian Engines must be running for this component to work.
CAUTION: Running the validation script is CPU intensive, and the server may be unresponsive for the duration of the validation (particularly during a complete validation). It is recommended that administrators run the validation script only during maintenance downtime or in a testing environment.
The validation script accepts three arguments – the level of completeness, the name of the engine, and the gateway ID being validated.
To get the correct usage information, execute the validate script with -help
as a parameter. The console output is shown below:
Usage: validate </c[omplete]> <engine> [Gateway Id] /c[omplete]: Optional. Requests a complete, but slower, validation. engine: The name of the engine can include any of the following forums notify notify-email channels content collaboration-statistics personalization portal process-design process-analytics process-execution0 process-execution1 process-execution2 gateway Id: The ids of the gateways being validated. Defaults to query all gateways. For example: validate /c portal 1
Parameter | Description |
---|---|
/c |
Completeness: A complete validation runs the complete set of validation functions on all data structures and their associated data. This may take a long time, especially if there is a large amount of data to validate. The "quick" validation runs a select class of validate functions and is less intensive than the complete validation.
|
<engine> |
Engine Name: The second argument is the name of a particular service. The following Appian engine names are allowed.
You must specify an engine name. |
<gateway Id> |
Gateway: Gateways are numbered 1, 2, or 3 (for gw1, gw2, or gw3). A default Appian instance has a single gateway for each engine (gateway ID=1). Up to two additional gateways can be added to each engine. If you have multiple active gateways, you can validate them one at a time by specifying the gateway number. For example, to perform a quick validation of gateway 3 for process-execution0, type the following commands.
This parameter is optional. |
In this section, we will review the output of the validation script and how it can be used to debug data corruption issues. In the following example, all services are running using three different gateways on a single engine server.
When the script is executed, it lists the results in the following log file.
<APPIAN_HOME>/admin/validation/#_validation.log
A successful execution of a validation script on the personalization service also generates console output that is similar to the following result.
Validating engine personalization on gateways 1. ============ Gateway Id 1 ------------ Application Name: Personalization Thoroughness: Quick Errors Found: 0 Errors Found by SDL: 0 Full Report Available at: file://server.example.com/C:/APPIAN_HOME/_adm in/validation/0_validation.log Elapsed Time Total: 1437.5 ms ============
Validate Engine Integrity