Implementing Restart
To recover from a system failure
- Abort transactions that were active at the failure
- For every committed transaction, redo updates that are in the log but not the stable database
- Resume normal processing of transactions
Idempotent operation - many executions of the operation have the same effect as one execution
Restart must be idempotent. If it’s interrupted by a failure, then it re-executes from the beginning.
Restart contributes to unavailability. So make it fast!