A stateful gap recovery has completeness guarantees between those of a gap and a rollback recovery. It provides the same functionality than the gap recovery plus using processing images. A processing image contains all operator states in a query processing of Odysseus at a given point in time. An operator state consists of all information an operator stores for the next element to process (e.g., sums, counts). A queue state consists of all elements that are in Odysseus waiting to be processed by an operator. Those processing images are taken when a checkpoint is reached.


Requirements: To use the stateful gap recovery, you have to (1) choose the stateful gap recovery and (2) manage the checkpoints (see Checkpointing):

#PARSER PQL
#RECOVERYCONFIGURATION StatefulGapRecovery protectionpointunit=MINUTES protectionpointperiod=1
[Definition of queries to apply stateful rollback recovery]