Error handling
An
error that occurs during MSIF processing and interrupts a scenario
can be of one of the following types:
- Database or program error
- These errors include database timeouts, stopped table spaces,
missing rows, invalid data, and program exceptions. When a database
or program error occurs, the MSIF transfer service:
- Rolls back the current processing step
- Sets the trace level of the DNFO and DNPA components to Debug
- Automatically attempts to reprocess the step
- Resets the trace levels of the DNFO and DNPA components to their original values
- Recoverable error
- An error that is not a database or program error and is transient in nature is said to be recoverable. For example, an attempt to put a message into the input queue of an SAG that is not running results in a recoverable error. In such circumstances, the transfer condition of the scenario is set to inError. Scenarios that encounter recoverable errors can be recovered either manually, by issuing the recover command (see recover for a description of this command), or, for most types of recoverable errors, automatically (see Automatic recovery for a description of the types of errors that can be recovered automatically). For a SendMsg, SendFile, or RespondDownload scenario the MSIF transfer service does not create new scenario but flags the resent primitive as a possible duplicate emission (PDE).
- Unrecoverable error
- An error that is permanent in nature is said to be unrecoverable. For example, an invalid application message or a configuration error results in an unrecoverable error. Some unrecoverable errors require that the corresponding application message is placed in a backout queue (see Backout queues).