recover doCheckpoint