Class SnapshotsInProgress

All Implemented Interfaces:
ClusterState.Custom, Diffable<ClusterState.Custom>, NamedDiffable<ClusterState.Custom>, NamedWriteable, VersionedNamedWriteable, Writeable, ChunkedToXContent

public class SnapshotsInProgress extends AbstractNamedDiffable<ClusterState.Custom> implements ClusterState.Custom
Metadata about snapshots that are currently executing.

This data structure serves two purposes:

  1. It records a checkpoint of the state of the ongoing snapshots so that if the current master fails and a new master is elected then the ongoing snapshots can continue without having to re-do an excessive amount of work. In practice today the only work that is repeated on a master failover is the finalization of any snapshots that are ready to finalize.
  2. It communicates to the data nodes the snapshot work they should currently be performing, which it does by setting each shard's SnapshotsInProgress.ShardSnapshotStatus.state field to SnapshotsInProgress.ShardState.INIT.