Final answer:
In a deferred update, changes made during a transaction are stored in a log until the transaction is completed, ensuring no partial transactions corrupt the database. If a failure occurs before completion, those changes are not written to the database. Completed transactions are redone after recovery, using the logged info.
Step-by-step explanation:
When dealing with database transactions, a deferred update, also known as a no-undo/redo protocol, handles a failure by temporarily storing the changes made by a transaction in a log or buffer rather than immediately writing the changes to the database. This type of failure handling waits until a transaction is completely finished and its successful outcome is ensured before the changes are permanently applied to the database. If a system failure occurs before the end transaction is reached, none of the changes are made to the permanent database, ensuring that any partial transactions do not cause inconsistencies. After a system recovers from a failure, only those transactions that were completed before the failure are redone using the log information.