Understanding recovery routine options

A recovery routine has two basic options: the routine can either retry or it can percolate.

Retry is the attempt to resume processing at some point in the unit of work that encountered the error. The recovery routine does something to circumvent or repair the error, and requests that the system pass control to a retry routine to attempt to continue with normal processing.

Percolate is the opposite of retry. To percolate means to continue with error processing. A recovery routine percolates under one of the following circumstances:

When a recovery routine percolates, the system checks to see if any other recovery routines are activated. If so, the system passes control to that recovery routine, which then has the option to either retry or percolate. Think of the process of percolation, then, as the system passing control to one recovery routine after another.

The system gives control to recovery routines in the following order:
  1. FRRs, in last-in-first-out (LIFO) order, which means the most recently activated routine gets control first
  2. ESTAE-type recovery routines that are not ESTAI routines, in LIFO order
  3. ESTAI routines, in LIFO order.

See Providing multiple recovery routines for more information about having multiple recovery routines.

If no other recovery routines are activated, or all recovery routines percolate, the system proceeds to abnormally end your program.