public class TaskExecutor extends RpcEndpoint implements TaskExecutorGateway
Task
.RpcEndpoint.MainThreadExecutor
Modifier and Type | Field and Description |
---|---|
static String |
TASK_MANAGER_NAME |
log, rpcServer
Constructor and Description |
---|
TaskExecutor(RpcService rpcService,
TaskManagerConfiguration taskManagerConfiguration,
HighAvailabilityServices haServices,
TaskManagerServices taskExecutorServices,
HeartbeatServices heartbeatServices,
TaskManagerMetricGroup taskManagerMetricGroup,
String metricQueryServicePath,
BlobCacheService blobCacheService,
FatalErrorHandler fatalErrorHandler) |
Modifier and Type | Method and Description |
---|---|
CompletableFuture<Boolean> |
canBeReleased()
Checks whether the task executor can be released.
|
CompletableFuture<Acknowledge> |
cancelTask(ExecutionAttemptID executionAttemptID,
Time timeout)
Cancel the given task.
|
CompletableFuture<Acknowledge> |
confirmCheckpoint(ExecutionAttemptID executionAttemptID,
long checkpointId,
long checkpointTimestamp)
Confirm a checkpoint for the given task.
|
void |
disconnectJobManager(JobID jobId,
Exception cause)
Disconnects the given JobManager from the TaskManager.
|
void |
disconnectResourceManager(Exception cause)
Disconnects the ResourceManager from the TaskManager.
|
void |
failPartition(ExecutionAttemptID executionAttemptID)
Fail all intermediate result partitions of the given task.
|
CompletableFuture<Acknowledge> |
freeSlot(AllocationID allocationId,
Throwable cause,
Time timeout)
Frees the slot with the given allocation ID.
|
ResourceID |
getResourceID() |
void |
heartbeatFromJobManager(ResourceID resourceID,
AllocatedSlotReport allocatedSlotReport)
Heartbeat request from the job manager.
|
void |
heartbeatFromResourceManager(ResourceID resourceID)
Heartbeat request from the resource manager.
|
void |
onStart()
User overridable callback.
|
CompletableFuture<Void> |
onStop()
Called to shut down the TaskManager.
|
CompletableFuture<TransientBlobKey> |
requestFileUpload(FileType fileType,
Time timeout)
Requests the file upload of the specified type to the cluster's
BlobServer . |
CompletableFuture<SerializableOptional<String>> |
requestMetricQueryServiceAddress(Time timeout)
Returns the fully qualified address of Metric Query Service on the TaskManager.
|
CompletableFuture<Acknowledge> |
requestSlot(SlotID slotId,
JobID jobId,
AllocationID allocationId,
String targetAddress,
ResourceManagerId resourceManagerId,
Time timeout)
Requests a slot from the TaskManager.
|
CompletableFuture<StackTraceSampleResponse> |
requestStackTraceSample(ExecutionAttemptID executionAttemptId,
int sampleId,
int numSamples,
Time delayBetweenSamples,
int maxStackTraceDepth,
Time timeout) |
CompletableFuture<Acknowledge> |
stopTask(ExecutionAttemptID executionAttemptID,
Time timeout)
Stop the given task.
|
CompletableFuture<Acknowledge> |
submitTask(TaskDeploymentDescriptor tdd,
JobMasterId jobMasterId,
Time timeout)
Submit a
Task to the TaskExecutor . |
CompletableFuture<Acknowledge> |
triggerCheckpoint(ExecutionAttemptID executionAttemptID,
long checkpointId,
long checkpointTimestamp,
CheckpointOptions checkpointOptions)
Trigger the checkpoint for the given task.
|
CompletableFuture<Acknowledge> |
updatePartitions(ExecutionAttemptID executionAttemptID,
Iterable<PartitionInfo> partitionInfos,
Time timeout)
Update the task where the given partitions can be found.
|
callAsync, closeAsync, getAddress, getEndpointId, getHostname, getMainThreadExecutor, getRpcService, getSelfGateway, getTerminationFuture, runAsync, scheduleRunAsync, scheduleRunAsync, start, stop, validateRunsInMainThread
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAddress, getHostname
close
public static final String TASK_MANAGER_NAME
public TaskExecutor(RpcService rpcService, TaskManagerConfiguration taskManagerConfiguration, HighAvailabilityServices haServices, TaskManagerServices taskExecutorServices, HeartbeatServices heartbeatServices, TaskManagerMetricGroup taskManagerMetricGroup, @Nullable String metricQueryServicePath, BlobCacheService blobCacheService, FatalErrorHandler fatalErrorHandler)
public CompletableFuture<Boolean> canBeReleased()
TaskExecutorGateway
canBeReleased
in interface TaskExecutorGateway
public void onStart() throws Exception
RpcEndpoint
This method is called when the RpcEndpoint is being started. The method is guaranteed to be executed in the main thread context and can be used to start the rpc endpoint in the context of the rpc endpoint's main thread.
IMPORTANT: This method should never be called directly by the user.
onStart
in class RpcEndpoint
Exception
- indicating that the rpc endpoint could not be started. If an exception occurs,
then the rpc endpoint will automatically terminate.public CompletableFuture<Void> onStop()
onStop
in class RpcEndpoint
public CompletableFuture<StackTraceSampleResponse> requestStackTraceSample(ExecutionAttemptID executionAttemptId, int sampleId, int numSamples, Time delayBetweenSamples, int maxStackTraceDepth, Time timeout)
requestStackTraceSample
in interface TaskExecutorGateway
public CompletableFuture<Acknowledge> submitTask(TaskDeploymentDescriptor tdd, JobMasterId jobMasterId, Time timeout)
TaskExecutorGateway
Task
to the TaskExecutor
.submitTask
in interface TaskExecutorGateway
tdd
- describing the task to submitjobMasterId
- identifying the submitting JobMastertimeout
- of the submit operationpublic CompletableFuture<Acknowledge> cancelTask(ExecutionAttemptID executionAttemptID, Time timeout)
TaskExecutorGateway
cancelTask
in interface TaskExecutorGateway
executionAttemptID
- identifying the tasktimeout
- for the cancel operationpublic CompletableFuture<Acknowledge> stopTask(ExecutionAttemptID executionAttemptID, Time timeout)
TaskExecutorGateway
stopTask
in interface TaskExecutorGateway
executionAttemptID
- identifying the tasktimeout
- for the stop operationpublic CompletableFuture<Acknowledge> updatePartitions(ExecutionAttemptID executionAttemptID, Iterable<PartitionInfo> partitionInfos, Time timeout)
TaskExecutorGateway
updatePartitions
in interface TaskExecutorGateway
executionAttemptID
- identifying the taskpartitionInfos
- telling where the partition can be retrieved fromtimeout
- for the update partitions operationpublic void failPartition(ExecutionAttemptID executionAttemptID)
TaskExecutorGateway
failPartition
in interface TaskExecutorGateway
executionAttemptID
- identifying the taskpublic void heartbeatFromJobManager(ResourceID resourceID, AllocatedSlotReport allocatedSlotReport)
TaskExecutorGateway
heartbeatFromJobManager
in interface TaskExecutorGateway
resourceID
- unique id of the job managerpublic void heartbeatFromResourceManager(ResourceID resourceID)
TaskExecutorGateway
heartbeatFromResourceManager
in interface TaskExecutorGateway
resourceID
- unique id of the resource managerpublic CompletableFuture<Acknowledge> triggerCheckpoint(ExecutionAttemptID executionAttemptID, long checkpointId, long checkpointTimestamp, CheckpointOptions checkpointOptions)
TaskExecutorGateway
triggerCheckpoint
in interface TaskExecutorGateway
executionAttemptID
- identifying the taskcheckpointId
- unique id for the checkpointcheckpointTimestamp
- is the timestamp when the checkpoint has been initiatedcheckpointOptions
- for performing the checkpointpublic CompletableFuture<Acknowledge> confirmCheckpoint(ExecutionAttemptID executionAttemptID, long checkpointId, long checkpointTimestamp)
TaskExecutorGateway
confirmCheckpoint
in interface TaskExecutorGateway
executionAttemptID
- identifying the taskcheckpointId
- unique id for the checkpointcheckpointTimestamp
- is the timestamp when the checkpoint has been initiatedpublic CompletableFuture<Acknowledge> requestSlot(SlotID slotId, JobID jobId, AllocationID allocationId, String targetAddress, ResourceManagerId resourceManagerId, Time timeout)
TaskExecutorGateway
requestSlot
in interface TaskExecutorGateway
slotId
- slot id for the requestjobId
- for which to request a slotallocationId
- id for the requesttargetAddress
- to which to offer the requested slotsresourceManagerId
- current leader id of the ResourceManagertimeout
- for the operationpublic CompletableFuture<Acknowledge> freeSlot(AllocationID allocationId, Throwable cause, Time timeout)
TaskExecutorGateway
freeSlot
in interface TaskExecutorGateway
allocationId
- identifying the slot to freecause
- of the freeing operationtimeout
- for the operationpublic CompletableFuture<TransientBlobKey> requestFileUpload(FileType fileType, Time timeout)
TaskExecutorGateway
BlobServer
.requestFileUpload
in interface TaskExecutorGateway
fileType
- to uploadtimeout
- for the asynchronous operationTransientBlobKey
of the uploaded file.public CompletableFuture<SerializableOptional<String>> requestMetricQueryServiceAddress(Time timeout)
TaskExecutorGateway
requestMetricQueryServiceAddress
in interface TaskExecutorGateway
public void disconnectJobManager(JobID jobId, Exception cause)
TaskExecutorGateway
disconnectJobManager
in interface TaskExecutorGateway
jobId
- JobID for which the JobManager was the leadercause
- for the disconnection from the JobManagerpublic void disconnectResourceManager(Exception cause)
TaskExecutorGateway
disconnectResourceManager
in interface TaskExecutorGateway
cause
- for the disconnection from the ResourceManagerpublic ResourceID getResourceID()
Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.