Module org.elasticsearch.server
Class NodesShutdownMetadata
java.lang.Object
org.elasticsearch.cluster.metadata.NodesShutdownMetadata
- All Implemented Interfaces:
Diffable<Metadata.Custom>,Metadata.Custom,NamedDiffable<Metadata.Custom>,NamedWriteable,VersionedNamedWriteable,Writeable,ChunkedToXContent
Contains the data about nodes which are currently configured to shut down, either permanently or temporarily.
Stored in the cluster state as custom metadata.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classHandles diffing and appling diffs forNodesShutdownMetadataas necessary for the cluster state infrastructure.Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final NodesShutdownMetadatastatic final TransportVersionstatic final ConstructingObjectParser<NodesShutdownMetadata, Void> static final String -
Constructor Summary
ConstructorsConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns true if the given node is marked as shutting down with any shutdown type.booleancontains(String nodeId, SingleNodeShutdownMetadata.Type type) context()diff(Metadata.Custom previousState) Returns serializable object representing differences between this and previousStatebooleanstatic NodesShutdownMetadatafromXContent(XContentParser parser) get(String nodeId, SingleNodeShutdownMetadata.Type type) getAll()The minimal version of the recipient this object can be sent toReturns the name of the writeable objectinthashCode()booleanisNodeMarkedForRemoval(String nodeId) Checks if the provided node is scheduled for being permanently removed from the cluster.putSingleNodeMetadata(SingleNodeShutdownMetadata nodeShutdownMetadata) Add or update the shutdown metadata for a single node.static NamedDiff<Metadata.Custom> removeSingleNodeMetadata(String nodeId) Removes all shutdown metadata for a particular node ID.Iterator<? extends ToXContent> toXContentChunked(ToXContent.Params params) Create an iterator ofToXContentchunks for a REST response.voidwriteTo(StreamOutput out) Write this into the StreamOutput.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.elasticsearch.common.xcontent.ChunkedToXContent
isFragment, toXContentChunkedV7Methods inherited from interface org.elasticsearch.cluster.metadata.Metadata.Custom
isRestorable
-
Field Details
-
TYPE
- See Also:
-
NODE_SHUTDOWN_VERSION
-
EMPTY
-
PARSER
-
-
Constructor Details
-
NodesShutdownMetadata
-
NodesShutdownMetadata
- Throws:
IOException
-
-
Method Details
-
fromXContent
-
readDiffFrom
- Throws:
IOException
-
writeTo
Description copied from interface:WriteableWrite this into the StreamOutput.- Specified by:
writeToin interfaceWriteable- Throws:
IOException
-
getAll
- Returns:
- A map of NodeID to shutdown metadata.
-
getAllNodeIds
- Returns:
- a set of all node ids that might be restarting or shutting down
-
get
- Returns:
- a shutdown entry for the node if exists with any shutdown type
-
contains
Returns true if the given node is marked as shutting down with any shutdown type. -
get
@Nullable public SingleNodeShutdownMetadata get(String nodeId, SingleNodeShutdownMetadata.Type type) - Returns:
- a shutdown entry for the node if exists and matches the supplied type
-
contains
-
isNodeMarkedForRemoval
Checks if the provided node is scheduled for being permanently removed from the cluster. -
putSingleNodeMetadata
Add or update the shutdown metadata for a single node.- Parameters:
nodeShutdownMetadata- The single node shutdown metadata to add or update.- Returns:
- A new
NodesShutdownMetadatathat reflects the updated value.
-
removeSingleNodeMetadata
Removes all shutdown metadata for a particular node ID.- Parameters:
nodeId- The node ID to remove shutdown metadata for.- Returns:
- A new
NodesShutdownMetadatathat does not contain shutdown metadata for the given node.
-
diff
Description copied from interface:DiffableReturns serializable object representing differences between this and previousState- Specified by:
diffin interfaceDiffable<Metadata.Custom>
-
context
- Specified by:
contextin interfaceMetadata.Custom
-
getWriteableName
Description copied from interface:VersionedNamedWriteableReturns the name of the writeable object- Specified by:
getWriteableNamein interfaceNamedWriteable- Specified by:
getWriteableNamein interfaceVersionedNamedWriteable
-
getMinimalSupportedVersion
Description copied from interface:VersionedNamedWriteableThe minimal version of the recipient this object can be sent to- Specified by:
getMinimalSupportedVersionin interfaceVersionedNamedWriteable
-
equals
-
hashCode
public int hashCode() -
toXContentChunked
Description copied from interface:ChunkedToXContentCreate an iterator ofToXContentchunks for a REST response. Each chunk is serialized with the sameXContentBuilderandToXContent.Params, which is also the same as theToXContent.Paramspassed as theparamsargument. 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 alsoChunkedToXContentHelperfor 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:
toXContentChunkedin interfaceChunkedToXContent- Returns:
- iterator over chunks of
ToXContent
-