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, org.elasticsearch.common.xcontent.ToXContent, org.elasticsearch.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.elasticsearch.common.xcontent.ToXContent

    org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.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 previousState
    boolean equals​(java.lang.Object obj)  
    static IndexGraveyard fromXContent​(org.elasticsearch.common.xcontent.XContentParser parser)  
    Version getMinimalSupportedVersion()
    The minimal version of the recipient this object can be sent to
    java.util.List<IndexGraveyard.Tombstone> getTombstones()
    Get the current unmodifiable index tombstone list.
    java.lang.String getWriteableName()
    Returns the name of the writeable object
    int hashCode()  
    static NamedDiff<Metadata.Custom> readDiffFrom​(StreamInput in)  
    java.lang.String toString()  
    org.elasticsearch.common.xcontent.XContentBuilder toXContent​(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.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.elasticsearch.cluster.ClusterState.FeatureAware

    getRequiredFeature

    Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment

    isFragment
  • Field Details

    • 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 Details

    • IndexGraveyard

      public IndexGraveyard​(StreamInput in) throws java.io.IOException
      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 interface NamedWriteable
      Specified by:
      getWriteableName in interface VersionedNamedWriteable
    • 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 interface VersionedNamedWriteable
    • context

      public java.util.EnumSet<Metadata.XContentContext> context()
      Specified by:
      context in interface Metadata.Custom
    • equals

      public boolean equals​(java.lang.Object obj)
      Overrides:
      equals in class java.lang.Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class java.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 org.elasticsearch.common.xcontent.XContentBuilder toXContent​(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws java.io.IOException
      Specified by:
      toXContent in interface org.elasticsearch.common.xcontent.ToXContent
      Throws:
      java.io.IOException
    • fromXContent

      public static IndexGraveyard fromXContent​(org.elasticsearch.common.xcontent.XContentParser parser) throws java.io.IOException
      Throws:
      java.io.IOException
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • writeTo

      public void writeTo​(StreamOutput out) throws java.io.IOException
      Description copied from interface: Writeable
      Write this into the StreamOutput.
      Specified by:
      writeTo in interface Writeable
      Throws:
      java.io.IOException
    • 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 interface Diffable<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)