A mechanism that, on discovery of an error, restores a system to an earlier state (a recovery point) by undoing the effects of operations that have been performed since that earlier state was last current. This is achieved by saving recovery data during the execution of operations.