March 2003
Intermediate to advanced
912 pages
27h 17m
English
Two basic approaches to achieving crash resilience were outlined in Chapter 15: logging and shadowing. Our concern there was to make a single invocation atomic in the presence of crashes. In Part III we have moved on to transactions comprising a number of related invocations and should reconsider the approaches from this perspective.
Logging: Persistent object values are updated in place and all changes are recorded in a log. The method is based on recorded state and a fundamental assumption is that it is possible to undo an invocation at an object. This is necessary when a crash occurs part-way through a transaction. The pre-crash invocations of the uncommitted transaction must be undone. We shall ...
Read now
Unlock full access