Automatic Error-Handling

A number of internal and external operations provide error-handling retries to respond automatically should your application or network experience minor disruptions due to time-out errors, such as a very heavy transaction load.

The transaction is only retried when no data has been updated or changed.

Internal Error Handling: If Appian smart services, Scripting functions, or xpath*() functions suffer an internal time-out error with a transaction that can be safely retried, the transaction is retried automatically. Transitory errors for query rules are retried. Write transactions executed by the Write to Data Store Entities and Write to Multiple Data Store Entities smart services will be automatically retried if the write fails due to the data being locked by the database.

External Error Handling: If the Call Web Service Smart Service encounters an unavailable web service or a request timeout (503 or 408 error), the activity is automatically retried. If the Send Email Smart Service encounters a connection error when trying to send the email, the activity is automatically retried. Transitory errors for the Query Database Smart Service are not retried.

See also: Query Database Smart Service

Retry Intervals: Should an error occur, automatic retries occur at approximately the following intervals after each subsequent error. The interval between retries roughly doubles after each attempt.

  • 32 seconds
  • 64 seconds
  • 127 seconds
  • 4.5 minutes
  • 9 minutes
  • 17 minutes
  • 34 minutes
  • 67 minutes
  • 135 minutes
  • 4 hours and 30 minutes
  • 9 hours
  • 18 hours

If the retry that occurs after the last interval fails, no additional retries occur.

It is not possible to predict exactly when a subsequent retry occurs, due to the variable time spent retrying and catching each new error.

Logging

Retries are logged at the Debug level in the engine server logs.

Final retries are logged as errors.

See also: Application Engine and Gateway Logging

FEEDBACK