Class IndexGraveyard
- java.lang.Object
-
- org.elasticsearch.cluster.metadata.IndexGraveyard
-
- All Implemented Interfaces:
ClusterState.FeatureAware,Diffable<MetaData.Custom>,MetaData.Custom,NamedDiffable<MetaData.Custom>,NamedWriteable,VersionedNamedWriteable,Writeable,ToXContent,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 classIndexGraveyard.BuilderA class to build an IndexGraveyard.static classIndexGraveyard.IndexGraveyardDiffA class representing a diff of two IndexGraveyard objects.static classIndexGraveyard.TombstoneAn individual tombstone entry for representing a deleted index.-
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.Params
-
Nested classes/interfaces inherited from interface org.elasticsearch.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_TOMBSTONESSetting 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.StringTYPE-
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
-
Constructor Summary
Constructors Constructor Description IndexGraveyard(StreamInput in)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static IndexGraveyard.Builderbuilder()static IndexGraveyard.Builderbuilder(IndexGraveyard graveyard)booleancontainsIndex(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 previousStatebooleanequals(java.lang.Object obj)static IndexGraveyardfromXContent(XContentParser parser)VersiongetMinimalSupportedVersion()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.StringgetWriteableName()Returns the name of the writeable objectinthashCode()static NamedDiff<MetaData.Custom>readDiffFrom(StreamInput in)java.lang.StringtoString()XContentBuildertoXContent(XContentBuilder builder, ToXContent.Params params)voidwriteTo(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.elasticsearch.cluster.ClusterState.FeatureAware
getRequiredFeature
-
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment
isFragment
-
-
-
-
Field Detail
-
SETTING_MAX_TOMBSTONES
public static final 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.
-
TYPE
public static final java.lang.String TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
IndexGraveyard
public IndexGraveyard(StreamInput in) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
getWriteableName
public java.lang.String getWriteableName()
Description copied from interface:VersionedNamedWriteableReturns the name of the writeable object- Specified by:
getWriteableNamein interfaceNamedWriteable- Specified by:
getWriteableNamein interfaceVersionedNamedWriteable
-
getMinimalSupportedVersion
public Version getMinimalSupportedVersion()
Description copied from interface:VersionedNamedWriteableThe minimal version of the recipient this object can be sent to- Specified by:
getMinimalSupportedVersionin interfaceVersionedNamedWriteable
-
context
public java.util.EnumSet<MetaData.XContentContext> context()
- Specified by:
contextin interfaceMetaData.Custom
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
getTombstones
public java.util.List<IndexGraveyard.Tombstone> getTombstones()
Get the current unmodifiable index tombstone list.
-
containsIndex
public boolean containsIndex(Index index)
Returns true if the graveyard contains a tombstone for the given index.
-
toXContent
public XContentBuilder toXContent(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException
- Specified by:
toXContentin interfaceToXContent- Throws:
java.io.IOException
-
fromXContent
public static IndexGraveyard fromXContent(XContentParser parser) throws java.io.IOException
- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
writeTo
public void writeTo(StreamOutput out) throws java.io.IOException
Description copied from interface:WriteableWrite this into the StreamOutput.
-
diff
public Diff<MetaData.Custom> diff(MetaData.Custom previous)
Description copied from interface:DiffableReturns serializable object representing differences between this and previousState- Specified by:
diffin interfaceDiffable<MetaData.Custom>
-
readDiffFrom
public static NamedDiff<MetaData.Custom> readDiffFrom(StreamInput in) throws java.io.IOException
- Throws:
java.io.IOException
-
builder
public static IndexGraveyard.Builder builder()
-
builder
public static IndexGraveyard.Builder builder(IndexGraveyard graveyard)
-
-