java.lang.Object
org.elasticsearch.cluster.AbstractNamedDiffable<ClusterState.Custom>
org.elasticsearch.cluster.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
Meta data about snapshots that are currently executing
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static final record
static enum
static enum
Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final SnapshotsInProgress
static final String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionasStream()
static boolean
Checks if all shards in the list have completedint
count()
diff
(ClusterState.Custom previousState) Returns serializable object representing differences between this and previousStateboolean
static SnapshotsInProgress
get
(ClusterState state) The minimal version of the recipient this object can be sent toReturns the name of the writeable objectint
hashCode()
boolean
isEmpty()
boolean
isNodeIdForRemoval
(String nodeId) boolean
obsoleteGenerations
(String repository, SnapshotsInProgress old) Computes a map of repository shard id to set of generations, containing all shard generations that became obsolete and may be deleted from the repository as the cluster state moved from the givenold
value ofSnapshotsInProgress
to this instance.static NamedDiff<ClusterState.Custom>
static SnapshotsInProgress.Entry
startClone
(Snapshot snapshot, SnapshotId source, Map<String, IndexId> indices, long startTime, long repositoryStateId, IndexVersion version) Creates the initial snapshot clone entrystatic SnapshotsInProgress.Entry
startedEntry
(Snapshot snapshot, boolean includeGlobalState, boolean partial, Map<String, IndexId> indices, List<String> dataStreams, long startTime, long repositoryStateId, Map<ShardId, SnapshotsInProgress.ShardSnapshotStatus> shards, Map<String, Object> userMetadata, IndexVersion version, List<SnapshotFeatureInfo> featureStates) Creates the initialSnapshotsInProgress.Entry
when starting a snapshot, if no shard-level snapshot work is to be done the resulting entry will be in stateSnapshotsInProgress.State.SUCCESS
right away otherwise it will be in stateSnapshotsInProgress.State.STARTED
.toString()
Iterator<? extends ToXContent>
toXContentChunked
(ToXContent.Params ignored) Serialize thisClusterState.Custom
for diagnostic purposes, exposed by thewithUpdatedEntriesForRepo
(String repository, List<SnapshotsInProgress.Entry> updatedEntries) withUpdatedNodeIdsForRemoval
(ClusterState clusterState) Adds any new node IDs tonodesIdsForRemoval
, and removes any node IDs that are no longer marked for shutdown if they have no running shard snapshots.void
writeTo
(StreamOutput out) Write this into the StreamOutput.Methods inherited from class org.elasticsearch.cluster.AbstractNamedDiffable
get, readDiffFrom
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.elasticsearch.common.xcontent.ChunkedToXContent
isFragment, toXContentChunkedV7
Methods inherited from interface org.elasticsearch.cluster.ClusterState.Custom
isPrivate
-
Field Details
-
EMPTY
-
TYPE
- See Also:
-
ABORTED_FAILURE_TEXT
- See Also:
-
-
Constructor Details
-
SnapshotsInProgress
- Throws:
IOException
-
-
Method Details
-
get
-
withUpdatedEntriesForRepo
public SnapshotsInProgress withUpdatedEntriesForRepo(String repository, List<SnapshotsInProgress.Entry> updatedEntries) -
withAddedEntry
-
forRepo
-
isEmpty
public boolean isEmpty() -
count
public int count() -
entriesByRepo
-
asStream
-
snapshot
-
obsoleteGenerations
public Map<RepositoryShardId,Set<ShardGeneration>> obsoleteGenerations(String repository, SnapshotsInProgress old) Computes a map of repository shard id to set of generations, containing all shard generations that became obsolete and may be deleted from the repository as the cluster state moved from the givenold
value ofSnapshotsInProgress
to this instance. -
getWriteableName
Description copied from interface:VersionedNamedWriteable
Returns the name of the writeable object- Specified by:
getWriteableName
in interfaceNamedWriteable
- Specified by:
getWriteableName
in interfaceVersionedNamedWriteable
-
getMinimalSupportedVersion
Description copied from interface:VersionedNamedWriteable
The minimal version of the recipient this object can be sent to- Specified by:
getMinimalSupportedVersion
in interfaceVersionedNamedWriteable
-
readDiffFrom
- Throws:
IOException
-
diff
Description copied from interface:Diffable
Returns serializable object representing differences between this and previousState- Specified by:
diff
in interfaceDiffable<ClusterState.Custom>
- Overrides:
diff
in classAbstractNamedDiffable<ClusterState.Custom>
-
writeTo
Description copied from interface:Writeable
Write this into the StreamOutput.- Specified by:
writeTo
in interfaceWriteable
- Throws:
IOException
-
toXContentChunked
Description copied from interface:ClusterState.Custom
Serialize thisClusterState.Custom
for diagnostic purposes, exposed by theGET _cluster/state
API etc. The XContent representation does not need to be 100% faithful since we never reconstruct a cluster state from its XContent representation, but the more faithful it is the more useful it is for diagnostics.- Specified by:
toXContentChunked
in interfaceChunkedToXContent
- Specified by:
toXContentChunked
in interfaceClusterState.Custom
- Returns:
- iterator over chunks of
ToXContent
-
equals
-
hashCode
public int hashCode() -
toString
-
startedEntry
public static SnapshotsInProgress.Entry startedEntry(Snapshot snapshot, boolean includeGlobalState, boolean partial, Map<String, IndexId> indices, List<String> dataStreams, long startTime, long repositoryStateId, Map<ShardId, SnapshotsInProgress.ShardSnapshotStatus> shards, Map<String, Object> userMetadata, IndexVersion version, List<SnapshotFeatureInfo> featureStates) Creates the initialSnapshotsInProgress.Entry
when starting a snapshot, if no shard-level snapshot work is to be done the resulting entry will be in stateSnapshotsInProgress.State.SUCCESS
right away otherwise it will be in stateSnapshotsInProgress.State.STARTED
. -
startClone
public static SnapshotsInProgress.Entry startClone(Snapshot snapshot, SnapshotId source, Map<String, IndexId> indices, long startTime, long repositoryStateId, IndexVersion version) Creates the initial snapshot clone entry- Parameters:
snapshot
- snapshot to clone intosource
- snapshot to clone fromindices
- indices to clonestartTime
- start timerepositoryStateId
- repository state id that this clone is based onversion
- repository metadata version to write- Returns:
- snapshot clone entry
-
completed
Checks if all shards in the list have completed- Parameters:
shards
- list of shard statuses- Returns:
- true if all shards have completed (either successfully or failed), false otherwise
-
isNodeIdForRemoval
-
withUpdatedNodeIdsForRemoval
Adds any new node IDs tonodesIdsForRemoval
, and removes any node IDs that are no longer marked for shutdown if they have no running shard snapshots. -
nodeIdsForRemovalChanged
-