Progress
Programming
Handbook
How Progress Handles System and Software Failures
Following a system hardware or software failure (a crash), Progress undoes partially completed transactions for all users. This is the fundamental difference between transactions and subtransactions: Progress undoes a partially completed transaction after a system failure, including work done in any complete or incomplete subtransactions encompassed within the transaction.
Also, if the user presses STOP
,
Progress undoes the current transaction and returns control to the startup procedure if one is still active, or to the Editor.If Progress loses a database connection (for example, because a remote server failed), client processing might continue. In this case, Progress does the following:
- Raises the STOP condition. For this special instance of the STOP condition you cannot change the default processing. Any ON STOP phrases are ignored.
- Deletes any persistent procedures that reference the disconnected database.
- Progress undoes blocks beginning with the innermost active block and working outward. It continues to undo blocks until it reaches a level above all references to tables ore sequences in the lost database.
- Progress changes to the normal STOP condition. From this point, any further ON STOP phrases you have coded are used.
- Progress continues to undo blocks until it reaches an ON STOP phrase. If no ON STOP phrase is reached, it undoes all active blocks and restarts the top level procedure.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |