Package org.apache.s4.core.ft

This package contains classes for providing some fault tolerance to S4 PEs.

See:
          Description

Interface Summary
CheckpointingFramework This interface defines the functionalities offered by the checkpointing framework.
StateStorage Defines the methods that must be implemented by a backend storage for checkpoints.
StorageCallback Callback for reporting the result of an asynchronous storage operation
StorageCallbackFactory A factory for creating storage callbacks.
 

Class Summary
CheckpointId Identifier of PEs.
CheckpointingConfig Checkpointing configuration: event count based vs time interval, frequency.
CheckpointingConfig.Builder  
CheckpointingTask When checkpointing at regular time intervals, this class is used to actually perform the checkpoints.
DefaultFileSystemStateStorage Implementation of a file system backend storage to persist checkpoints.
FetchTask Encapsulates a checkpoint fetching operation.
FileSystemBackendCheckpointingModule Checkpointing module that uses the DefaultFileSystemStateStorage as a checkpointing backend.
LoggingStorageCallbackFactory A factory for creating storage callbacks that simply log callback results
NoOpCheckpointingFramework Implementation of CheckpointingFramework that does NO checkpointing.
SafeKeeper This class is responsible for coordinating interactions between the S4 event processor and the checkpoint storage backend.
SaveStateTask Encapsulates a checkpoint request.
SerializeTask Encaspulate a PE serialization operation.
 

Enum Summary
CheckpointingConfig.CheckpointingMode Identifies the kind of checkpointing: time based, event count, or no checkpointing
CheckpointingFramework.StorageResultCode  
 

Package org.apache.s4.core.ft Description

This package contains classes for providing some fault tolerance to S4 PEs.

The current approach is based on checkpointing.

Checkpoints are taken periodically (configurable by time or frequency of application events), and when restarting an S4 node, saved checkpoints are automatically and lazily restored.

Lazy restoration is triggered by an application event to a PE that has not yet been restored.

Checkpoints are stored in storage backends. Storage backends may implement eager techniques to prefetch checkpoint data to be recovered. Storage backends can be implemented for various kinds of systems, and must implement the StateStorage interface. They are pluggable throught the module system.

The application programmer must take care of marking as transient the fields that do not have to be persisted (or cannot be persisted).

Storage backends are pluggable and we provide some default implementations in this package