Allow for basic checkpointing

Registered by Joshua Harlow on 2013-10-08

Instead of saving the individual state of each and every task, it would be nice to allow there to be a concept of a checkpoint which can be directly resumed from (as well as reverted to) as a way to avoid having to undo/redo many individual tasks. *Similar* in concept to a checkpoint in a journaled filesystem.

http://pages.cs.wisc.edu/~remzi/OSTEP/file-journaling.pdf

Due to our usage of a logbooks/flow details/task details we can and are becoming similar to a system that has a write-ahead-log (especially if a backend like sqlite or mysql is used which are *consistent* backends - which also use write-ahead-logs internally) due to our states that tasks go through (the 'write-ahead' part is similar to our 'running' state where during this state we actually write that we are starting to run) and the natural extension to this is to allow for a basic checkpoint mechanism.

Advantages:
- Reduces the size of the logbook we retain.
- Creates points from which we can easily resume from (or revert to).

Disadvantages:
- Complexity
- Reduces replayabiltiy of the entire logbook.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Medium
Drafter:
Joshua Harlow
Direction:
Approved
Assignee:
Anastasia Karpinska
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Joshua Harlow on 2013-12-30
Completed by
Joshua Harlow on 2014-04-02

Related branches

Sprints

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.