A deadly embrace (also called a deadlock) occurs when two different applications or transactions each have a lock on data that is needed by the other application or transaction. Neither process is able to proceed, because each is waiting for the other to do something. In these cases the system must have a method of determining which transaction goes first, and then it must let the second transaction be completed using the updated information after the first transaction. Implementing a locking procedure does not lead to inconsistent processing. A locking procedure would, in fact, result in consistent processing, because each transaction has access to all the files and data that it needs in order to be processed. Unrecoverable transactions occur if there is a power failure or another fault during processing, and a transaction or transactions are only partially processed. Rollback processing is used to prevent any transactions from being written to disk until they are complete. At its first opportunity, the program automatically rolls itself back to its pre-fault state by undoing any partial posting that took place prior to the aborted processing. Rollback processing is used to prevent any transactions being written to disk until they are complete. If there is a power failure or another fault during processing, at its first opportunity, the program automatically rolls itself back to its pre-fault state by undoing any partial posting that took place prior to the aborted processing. A rollback failure would be a failure to undo this partial posting.
|