Intent log

From Wikipedia, the free encyclopedia

An intent log is a mechanism used to make computer operations more resilient in the event of failures. They are used in database software, transaction managers, and file systems.

The basic idea is simple. Before performing an operation, a record of the intent to perform it is written, usually to some relatively permanent medium such as disk. After the operation is performed, another record is written. usually, an operation will change some data in a system. In some cases, the intent record will contain a copy of the data before and after the operation.

Of course, this adds overhead, sometimes a lot of overhead.. Enough data is written to the log to either redo or to undo the operation later.

Suppose that a failure occurs along the way. When the system is recovering, it can use the intent log to detect what operations were still in flight during the failure, and use the intent log to help recover from the failure, usually by either undoing a partially completed operation, or by redoing one that might need to be completed.