Module org.elasticsearch.server
Package org.elasticsearch.persistent
Class PersistentTasksCustomMetadata
java.lang.Object
org.elasticsearch.cluster.AbstractNamedDiffable<Metadata.ProjectCustom>
org.elasticsearch.persistent.PersistentTasksCustomMetadata
- All Implemented Interfaces:
Diffable<Metadata.ProjectCustom>,Metadata.MetadataCustom<Metadata.ProjectCustom>,Metadata.ProjectCustom,NamedDiffable<Metadata.ProjectCustom>,NamedWriteable,VersionedNamedWriteable,Writeable,ChunkedToXContent,PersistentTasks
public final class PersistentTasksCustomMetadata
extends AbstractNamedDiffable<Metadata.ProjectCustom>
implements Metadata.ProjectCustom, PersistentTasks
A cluster state record that contains a list of all running persistent tasks from a project
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classA record that represents a single running persistent taskNested classes/interfaces inherited from interface org.elasticsearch.persistent.PersistentTasks
PersistentTasks.Parsers, PersistentTasks.TaskBuilder<Params extends PersistentTaskParams>, PersistentTasks.TaskDescriptionBuilder<Params extends PersistentTaskParams>Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Field Summary
FieldsFields inherited from interface org.elasticsearch.common.xcontent.ChunkedToXContent
EMPTYFields inherited from interface org.elasticsearch.persistent.PersistentTasks
API_CONTEXT, INITIAL_ASSIGNMENT, LOST_NODE_ASSIGNMENT -
Constructor Summary
ConstructorsConstructorDescriptionPersistentTasksCustomMetadata(long lastAllocationId, Map<String, PersistentTasksCustomMetadata.PersistentTask<?>> tasks) -
Method Summary
Modifier and TypeMethodDescriptionbuilder()combine(ClusterPersistentTasksCustomMetadata clusterTasksMetadata, PersistentTasksCustomMetadata projectTasksMetadata) A helper method for handling wire BWC.context()static ClusterStatedisassociateDeadNodes(ClusterState clusterState) Unassign any persistent tasks executing on nodes that are no longer in the cluster.booleanfromXContent(XContentParser parser) get(ProjectMetadata projectMetadata) longThe minimal version of the recipient this object can be sent to.getPersistentTasksCustomMetadata(ClusterState clusterState) Deprecated, for removal: This API element is subject to removal in a future version.static <Params extends PersistentTaskParams>
PersistentTasksCustomMetadata.PersistentTask<Params> getTaskWithId(ClusterState clusterState, String taskId) Deprecated, for removal: This API element is subject to removal in a future version.static <Params extends PersistentTaskParams>
PersistentTasksCustomMetadata.PersistentTask<Params> getTaskWithId(ProjectMetadata project, String taskId) Returns the name of the writeable objectinthashCode()static NamedDiff<Metadata.ProjectCustom> split()A helper method for handling wire BWC.taskMap()Convert the PersistentTasks object into the corresponding buildertoString()Iterator<? extends ToXContent> toXContentChunked(ToXContent.Params ignored) Create an iterator ofToXContentchunks for a REST response.voidwriteTo(StreamOutput out) Write this into the StreamOutput.Methods inherited from class org.elasticsearch.cluster.AbstractNamedDiffable
diff, get, readDiffFromMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.elasticsearch.common.xcontent.ChunkedToXContent
isFragment, toXContentChunked, toXContentChunkedV8Methods inherited from interface org.elasticsearch.cluster.metadata.Metadata.MetadataCustom
isRestorableMethods inherited from interface org.elasticsearch.persistent.PersistentTasks
doToXContentChunked, doWriteTo, findTasks, getNumberOfTasksOnNode, getTask, tasksMethods inherited from interface org.elasticsearch.common.io.stream.VersionedNamedWriteable
supportsVersion
-
Field Details
-
TYPE
- See Also:
-
-
Constructor Details
-
PersistentTasksCustomMetadata
public PersistentTasksCustomMetadata(long lastAllocationId, Map<String, PersistentTasksCustomMetadata.PersistentTask<?>> tasks) -
PersistentTasksCustomMetadata
- Throws:
IOException
-
-
Method Details
-
getPersistentTasksCustomMetadata
@Deprecated(forRemoval=true) public static PersistentTasksCustomMetadata getPersistentTasksCustomMetadata(ClusterState clusterState) Deprecated, for removal: This API element is subject to removal in a future version. -
get
-
getLastAllocationId
public long getLastAllocationId()- Specified by:
getLastAllocationIdin interfacePersistentTasks- Returns:
- The last allocation id for the tasks.
-
taskMap
- Specified by:
taskMapin interfacePersistentTasks- Returns:
- The map of actual tasks keyed by task ID.
-
equals
-
hashCode
public int hashCode() -
toString
-
getMinimalSupportedVersion
Description copied from interface:VersionedNamedWriteableThe minimal version of the recipient this object can be sent to. SeeVersionedNamedWriteable.supportsVersion(TransportVersion)for the default serialization check.- Specified by:
getMinimalSupportedVersionin interfaceVersionedNamedWriteable
-
context
- Specified by:
contextin interfaceMetadata.MetadataCustom<Metadata.ProjectCustom>
-
fromXContent
-
getTaskWithId
@Deprecated(forRemoval=true) public static <Params extends PersistentTaskParams> PersistentTasksCustomMetadata.PersistentTask<Params> getTaskWithId(ClusterState clusterState, String taskId) Deprecated, for removal: This API element is subject to removal in a future version. -
getTaskWithId
public static <Params extends PersistentTaskParams> PersistentTasksCustomMetadata.PersistentTask<Params> getTaskWithId(ProjectMetadata project, String taskId) -
disassociateDeadNodes
Unassign any persistent tasks executing on nodes that are no longer in the cluster. If the task's assigment has a non-null executor node and that node is no longer in the cluster then the assignment is set toPersistentTasks.LOST_NODE_ASSIGNMENT- Parameters:
clusterState- The clusterstate- Returns:
- If no changes the argument
clusterStateis returned else a copy with the modified tasks
-
getWriteableName
Description copied from interface:VersionedNamedWriteableReturns the name of the writeable object- Specified by:
getWriteableNamein interfaceNamedWriteable- Specified by:
getWriteableNamein interfaceVersionedNamedWriteable
-
writeTo
Description copied from interface:WriteableWrite this into the StreamOutput.- Specified by:
writeToin interfaceWriteable- Throws:
IOException
-
readDiffFrom
- Throws:
IOException
-
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
-
toBuilder
Description copied from interface:PersistentTasksConvert the PersistentTasks object into the corresponding builder- Specified by:
toBuilderin interfacePersistentTasks
-
builder
-
builder
-
split
A helper method for handling wire BWC. An old node sends metadata without the notion of separate cluster and project persistent tasks. The new node needs to separate them and store them in different locations. This method does the split for the old metadata (read as project scoped) from the old node. -
combine
@Nullable public static PersistentTasksCustomMetadata combine(@Nullable ClusterPersistentTasksCustomMetadata clusterTasksMetadata, @Nullable PersistentTasksCustomMetadata projectTasksMetadata) A helper method for handling wire BWC. A new node with separate cluster and project scoped persistent tasks needs to send the metadata an old node. It must combine these persistent tasks and send over as one (use the project-scoped class). This method does the combination.
-