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 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.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_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(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()
XContentBuilder
toXContent(XContentBuilder builder, 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.elasticsearch.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 XContentBuilder toXContent(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException- Specified by:
toXContent
in interfaceToXContent
- Throws:
java.io.IOException
-
fromXContent
- 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
-