A Commit log

A commit log is used to track the necessary state to make decisions during an n-phase commit process, or else to unroll back to any pre-committed state. This log must be in stable storage to maximize reliability. In case two above, failure of a distributed transaction service includes network failure. Network failure can be seen as temporary or long term inability for the application and transaction service to contact each other (loss of messages or network partitioning).