Problem definition
The WAL is used to for historical data, restartability, and crash safety. Crash safety is achieved by saving a state change first, and if the node crashes, on restart the state changes which are not in the snapshot are reapplied. This gives a point of recovery and has guarantees for data durability.
The problem is: For this to work the state change has to be saved to the WAL as soon as possible, before it's applied. So on a crash scenario the events of the latest state change won't have been saved. This means that during restart the missing events have to be saved to the disk.
Problem definition
The WAL is used to for historical data, restartability, and crash safety. Crash safety is achieved by saving a state change first, and if the node crashes, on restart the state changes which are not in the snapshot are reapplied. This gives a point of recovery and has guarantees for data durability.
The problem is: For this to work the state change has to be saved to the WAL as soon as possible, before it's applied. So on a crash scenario the events of the latest state change won't have been saved. This means that during restart the missing events have to be saved to the disk.