java.lang.Object
org.elasticsearch.cluster.metadata.IndexGraveyard
- All Implemented Interfaces:
Diffable<Metadata.Custom>
,Metadata.Custom
,NamedDiffable<Metadata.Custom>
,NamedWriteable
,VersionedNamedWriteable
,Writeable
,ChunkedToXContent
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
Modifier and TypeClassDescriptionstatic final class
A class to build an IndexGraveyard.static final class
A class representing a diff of two IndexGraveyard objects.static final class
An individual tombstone entry for representing a deleted index.Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
Field Summary
Modifier and TypeFieldDescriptionSetting 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 final String
Fields inherited from interface org.elasticsearch.common.xcontent.ChunkedToXContent
EMPTY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic 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.context()
diff
(Metadata.Custom previous) Returns serializable object representing differences between this and previousStateboolean
static IndexGraveyard
fromXContent
(XContentParser parser) The minimal version of the recipient this object can be sent toGet the current unmodifiable index tombstone list.Returns the name of the writeable objectint
hashCode()
static NamedDiff<Metadata.Custom>
toString()
Iterator<? extends ToXContent>
toXContentChunked
(ToXContent.Params ignored) Create an iterator ofToXContent
chunks for a REST response.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.common.xcontent.ChunkedToXContent
isFragment, toXContentChunkedV7
Methods inherited from interface org.elasticsearch.cluster.metadata.Metadata.Custom
isRestorable
-
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
- See Also:
-
-
Constructor Details
-
IndexGraveyard
- Throws:
IOException
-
-
Method Details
-
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
-
hashCode
public int hashCode() -
getTombstones
Get the current unmodifiable index tombstone list. -
containsIndex
Returns true if the graveyard contains a tombstone for the given index. -
toXContentChunked
Description copied from interface:ChunkedToXContent
Create an iterator ofToXContent
chunks for a REST response. Each chunk is serialized with the sameXContentBuilder
andToXContent.Params
, which is also the same as theToXContent.Params
passed as theparams
argument. For best results, all chunks should beO(1)
size. The last chunk in the iterator must always yield at least one byte of output. See alsoChunkedToXContentHelper
for some handy utilities.Note that chunked response bodies cannot send deprecation warning headers once transmission has started, so implementations must check for deprecated feature use before returning.
- Specified by:
toXContentChunked
in interfaceChunkedToXContent
- Returns:
- iterator over chunks of
ToXContent
-
fromXContent
- Throws:
IOException
-
toString
-
writeTo
Description copied from interface:Writeable
Write this into the StreamOutput.- Specified by:
writeTo
in interfaceWriteable
- Throws:
IOException
-
diff
Description copied from interface:Diffable
Returns serializable object representing differences between this and previousState- Specified by:
diff
in interfaceDiffable<Metadata.Custom>
-
readDiffFrom
- Throws:
IOException
-
builder
-
builder
-