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
-
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
-
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
-
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:VersionedNamedWriteable
Returns the name of the writeable object- Specified by:
getWriteableName
in interfaceNamedWriteable
- Specified by:
getWriteableName
in interfaceVersionedNamedWriteable
-
getMinimalSupportedVersion
public Version getMinimalSupportedVersion()
Description copied from interface:VersionedNamedWriteable
The minimal version of the recipient this object can be sent to- Specified by:
getMinimalSupportedVersion
in interfaceVersionedNamedWriteable
-
context
public java.util.EnumSet<MetaData.XContentContext> 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
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:
toXContent
in 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:
toString
in classjava.lang.Object
-
writeTo
public void writeTo(StreamOutput out) throws java.io.IOException
Description copied from interface:Writeable
Write this into the StreamOutput.
-
diff
public Diff<MetaData.Custom> diff(MetaData.Custom previous)
Description copied from interface:Diffable
Returns serializable object representing differences between this and previousState- Specified by:
diff
in 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)
-
-