Package org.opensearch.cluster.metadata
Class IndexGraveyard
java.lang.Object
org.opensearch.cluster.metadata.IndexGraveyard
- All Implemented Interfaces:
ClusterState.FeatureAware
,Diffable<Metadata.Custom>
,Metadata.Custom
,NamedDiffable<Metadata.Custom>
,NamedWriteable
,VersionedNamedWriteable
,Writeable
,org.opensearch.common.xcontent.ToXContent
,org.opensearch.common.xcontent.ToXContentFragment
public final class IndexGraveyard extends java.lang.Object implements Metadata.Custom
A collection of tombstones for explicitly marking indices as deleted in the cluster state.
The cluster state contains a list of index tombstones for indices that have been
deleted in the cluster. Because cluster states are processed asynchronously by
nodes and a node could be removed from the cluster for a period of time, the
tombstones remain in the cluster state for a fixed period of time, after which
they are purged.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
IndexGraveyard.Builder
A class to build an IndexGraveyard.static class
IndexGraveyard.IndexGraveyardDiff
A class representing a diff of two IndexGraveyard objects.static class
IndexGraveyard.Tombstone
An individual tombstone entry for representing a deleted index.Nested classes/interfaces inherited from interface org.opensearch.common.xcontent.ToXContent
org.opensearch.common.xcontent.ToXContent.DelegatingMapParams, org.opensearch.common.xcontent.ToXContent.MapParams, org.opensearch.common.xcontent.ToXContent.Params
Nested classes/interfaces inherited from interface org.opensearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
Field Summary
Fields Modifier and Type Field Description static Setting<java.lang.Integer>
SETTING_MAX_TOMBSTONES
Setting for the maximum tombstones allowed in the cluster state; prevents the cluster state size from exploding too large, but it opens the very unlikely risk that if there are greater than MAX_TOMBSTONES index deletions while a node was offline, when it comes back online, it will have missed index deletions that it may need to process.static java.lang.String
TYPE
-
Constructor Summary
Constructors Constructor Description IndexGraveyard(StreamInput in)
-
Method Summary
Modifier and Type Method Description static IndexGraveyard.Builder
builder()
static IndexGraveyard.Builder
builder(IndexGraveyard graveyard)
boolean
containsIndex(Index index)
Returns true if the graveyard contains a tombstone for the given index.java.util.EnumSet<Metadata.XContentContext>
context()
Diff<Metadata.Custom>
diff(Metadata.Custom previous)
Returns serializable object representing differences between this and previousStateboolean
equals(java.lang.Object obj)
static IndexGraveyard
fromXContent(org.opensearch.common.xcontent.XContentParser parser)
Version
getMinimalSupportedVersion()
The minimal version of the recipient this object can be sent tojava.util.List<IndexGraveyard.Tombstone>
getTombstones()
Get the current unmodifiable index tombstone list.java.lang.String
getWriteableName()
Returns the name of the writeable objectint
hashCode()
static NamedDiff<Metadata.Custom>
readDiffFrom(StreamInput in)
java.lang.String
toString()
org.opensearch.common.xcontent.XContentBuilder
toXContent(org.opensearch.common.xcontent.XContentBuilder builder, org.opensearch.common.xcontent.ToXContent.Params params)
void
writeTo(StreamOutput out)
Write this into the StreamOutput.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.opensearch.cluster.ClusterState.FeatureAware
getRequiredFeature
-
Field Details
-
SETTING_MAX_TOMBSTONES
Setting for the maximum tombstones allowed in the cluster state; prevents the cluster state size from exploding too large, but it opens the very unlikely risk that if there are greater than MAX_TOMBSTONES index deletions while a node was offline, when it comes back online, it will have missed index deletions that it may need to process. -
TYPE
public static final java.lang.String TYPE- See Also:
- Constant Field Values
-
-
Constructor Details
-
IndexGraveyard
- Throws:
java.io.IOException
-
-
Method Details
-
getWriteableName
public java.lang.String 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
-
context
- Specified by:
context
in interfaceMetadata.Custom
-
equals
public boolean equals(java.lang.Object obj)- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()- Overrides:
hashCode
in classjava.lang.Object
-
getTombstones
Get the current unmodifiable index tombstone list. -
containsIndex
Returns true if the graveyard contains a tombstone for the given index. -
toXContent
public org.opensearch.common.xcontent.XContentBuilder toXContent(org.opensearch.common.xcontent.XContentBuilder builder, org.opensearch.common.xcontent.ToXContent.Params params) throws java.io.IOException- Specified by:
toXContent
in interfaceorg.opensearch.common.xcontent.ToXContent
- Throws:
java.io.IOException
-
fromXContent
public static IndexGraveyard fromXContent(org.opensearch.common.xcontent.XContentParser parser) throws java.io.IOException- Throws:
java.io.IOException
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-
writeTo
Description copied from interface:Writeable
Write this into the StreamOutput. -
diff
Description copied from interface:Diffable
Returns serializable object representing differences between this and previousState- Specified by:
diff
in interfaceDiffable<Metadata.Custom>
-
readDiffFrom
- Throws:
java.io.IOException
-
builder
-
builder
-