Class TaskExecutorGatewayDecoratorBase
- java.lang.Object
-
- org.apache.flink.runtime.taskexecutor.TaskExecutorGatewayDecoratorBase
-
- All Implemented Interfaces:
RpcGateway
,TaskExecutorGateway
,TaskExecutorOperatorEventGateway
,TaskExecutorThreadInfoGateway
public class TaskExecutorGatewayDecoratorBase extends Object implements TaskExecutorGateway
A class that decorates/forwards calls to aTaskExecutorGateway
.This class is meant as a base for custom decorators, to avoid having to maintain all the method overrides in each decorator.
-
-
Field Summary
Fields Modifier and Type Field Description protected TaskExecutorGateway
originalGateway
-
Constructor Summary
Constructors Modifier Constructor Description protected
TaskExecutorGatewayDecoratorBase(TaskExecutorGateway originalGateway)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompletableFuture<Acknowledge>
abortCheckpoint(ExecutionAttemptID executionAttemptID, long checkpointId, long latestCompletedCheckpointId, long checkpointTimestamp)
Abort a checkpoint for the given task.CompletableFuture<Boolean>
canBeReleased()
Checks whether the task executor can be released.CompletableFuture<Acknowledge>
cancelTask(ExecutionAttemptID executionAttemptID, Duration timeout)
Cancel the given task.CompletableFuture<Acknowledge>
confirmCheckpoint(ExecutionAttemptID executionAttemptID, long completedCheckpointId, long completedCheckpointTimestamp, long lastSubsumedCheckpointId)
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
freeInactiveSlots(JobID jobId, Duration timeout)
Frees all currently inactive slot allocated for the given job.CompletableFuture<Acknowledge>
freeSlot(AllocationID allocationId, Throwable cause, Duration timeout)
Frees the slot with the given allocation ID.String
getAddress()
Returns the fully qualified address under which the associated rpc endpoint is reachable.String
getHostname()
Returns the fully qualified hostname under which the associated rpc endpoint is reachable.CompletableFuture<Void>
heartbeatFromJobManager(ResourceID heartbeatOrigin, AllocatedSlotReport allocatedSlotReport)
Heartbeat request from the job manager.CompletableFuture<Void>
heartbeatFromResourceManager(ResourceID heartbeatOrigin)
Heartbeat request from the resource manager.CompletableFuture<Acknowledge>
promotePartitions(JobID jobId, Set<ResultPartitionID> partitionIds)
Batch promote intermediate result partitions.CompletableFuture<Acknowledge>
releaseClusterPartitions(Collection<IntermediateDataSetID> dataSetsToRelease, Duration timeout)
Releases all cluster partitions belong to any of the given data sets.void
releasePartitions(JobID jobId, Set<ResultPartitionID> partitionIds)
Batch release intermediate result partitions.CompletableFuture<TransientBlobKey>
requestFileUploadByName(String fileName, Duration timeout)
Requests the file upload of the specified name to the cluster'sBlobServer
.CompletableFuture<TransientBlobKey>
requestFileUploadByNameAndType(String fileName, FileType fileType, Duration timeout)
Requests the file upload of the specified name and file type to the cluster'sBlobServer
.CompletableFuture<TransientBlobKey>
requestFileUploadByType(FileType fileType, Duration timeout)
Requests the file upload of the specified type to the cluster'sBlobServer
.CompletableFuture<Collection<LogInfo>>
requestLogList(Duration timeout)
Requests for the historical log file names on the TaskManager.CompletableFuture<SerializableOptional<String>>
requestMetricQueryServiceAddress(Duration timeout)
Returns the gateway of Metric Query Service on the TaskManager.CompletableFuture<ProfilingInfo>
requestProfiling(int duration, ProfilingInfo.ProfilingMode mode, Duration timeout)
Requests the profiling from this TaskManager.CompletableFuture<Collection<ProfilingInfo>>
requestProfilingList(Duration timeout)
Requests for the historical profiling file names on the TaskManager.CompletableFuture<Acknowledge>
requestSlot(SlotID slotId, JobID jobId, AllocationID allocationId, ResourceProfile resourceProfile, String targetAddress, ResourceManagerId resourceManagerId, Duration timeout)
Requests a slot from the TaskManager.CompletableFuture<ThreadDumpInfo>
requestThreadDump(Duration timeout)
Requests the thread dump from this TaskManager.CompletableFuture<TaskThreadInfoResponse>
requestThreadInfoSamples(Collection<ExecutionAttemptID> taskExecutionAttemptIds, ThreadInfoSamplesRequest requestParams, Duration timeout)
Request a thread info sample from the given tasks.CompletableFuture<Acknowledge>
sendOperatorEventToTask(ExecutionAttemptID task, OperatorID operator, SerializedValue<OperatorEvent> evt)
Sends an operator event to an operator in a task executed by the Task Manager (Task Executor).CompletableFuture<Acknowledge>
submitTask(TaskDeploymentDescriptor tdd, JobMasterId jobMasterId, Duration timeout)
Submit aTask
to theTaskExecutor
.CompletableFuture<Acknowledge>
triggerCheckpoint(ExecutionAttemptID executionAttemptID, long checkpointID, long checkpointTimestamp, CheckpointOptions checkpointOptions)
Trigger the checkpoint for the given task.CompletableFuture<Acknowledge>
updateDelegationTokens(ResourceManagerId resourceManagerId, byte[] tokens)
Sends new delegation tokens to this TaskManager.CompletableFuture<Acknowledge>
updatePartitions(ExecutionAttemptID executionAttemptID, Iterable<PartitionInfo> partitionInfos, Duration timeout)
Update the task where the given partitions can be found.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.runtime.taskexecutor.TaskExecutorGateway
getAndRetainPartitionWithMetrics
-
-
-
-
Field Detail
-
originalGateway
protected final TaskExecutorGateway originalGateway
-
-
Constructor Detail
-
TaskExecutorGatewayDecoratorBase
protected TaskExecutorGatewayDecoratorBase(TaskExecutorGateway originalGateway)
-
-
Method Detail
-
getAddress
public String getAddress()
Description copied from interface:RpcGateway
Returns the fully qualified address under which the associated rpc endpoint is reachable.- Specified by:
getAddress
in interfaceRpcGateway
- Returns:
- Fully qualified (RPC) address under which the associated rpc endpoint is reachable
-
getHostname
public String getHostname()
Description copied from interface:RpcGateway
Returns the fully qualified hostname under which the associated rpc endpoint is reachable.- Specified by:
getHostname
in interfaceRpcGateway
- Returns:
- Fully qualified hostname under which the associated rpc endpoint is reachable
-
requestSlot
public CompletableFuture<Acknowledge> requestSlot(SlotID slotId, JobID jobId, AllocationID allocationId, ResourceProfile resourceProfile, String targetAddress, ResourceManagerId resourceManagerId, Duration timeout)
Description copied from interface:TaskExecutorGateway
Requests a slot from the TaskManager.- Specified by:
requestSlot
in interfaceTaskExecutorGateway
- Parameters:
slotId
- slot id for the requestjobId
- for which to request a slotallocationId
- id for the requestresourceProfile
- of requested slot, used only for dynamic slot allocation and will be ignored otherwisetargetAddress
- to which to offer the requested slotsresourceManagerId
- current leader id of the ResourceManagertimeout
- for the operation- Returns:
- answer to the slot request
-
submitTask
public CompletableFuture<Acknowledge> submitTask(TaskDeploymentDescriptor tdd, JobMasterId jobMasterId, Duration timeout)
Description copied from interface:TaskExecutorGateway
Submit aTask
to theTaskExecutor
.- Specified by:
submitTask
in interfaceTaskExecutorGateway
- Parameters:
tdd
- describing the task to submitjobMasterId
- identifying the submitting JobMastertimeout
- of the submit operation- Returns:
- Future acknowledge of the successful operation
-
updatePartitions
public CompletableFuture<Acknowledge> updatePartitions(ExecutionAttemptID executionAttemptID, Iterable<PartitionInfo> partitionInfos, Duration timeout)
Description copied from interface:TaskExecutorGateway
Update the task where the given partitions can be found.- Specified by:
updatePartitions
in interfaceTaskExecutorGateway
- Parameters:
executionAttemptID
- identifying the taskpartitionInfos
- telling where the partition can be retrieved fromtimeout
- for the update partitions operation- Returns:
- Future acknowledge if the partitions have been successfully updated
-
releasePartitions
public void releasePartitions(JobID jobId, Set<ResultPartitionID> partitionIds)
Description copied from interface:TaskExecutorGateway
Batch release intermediate result partitions.- Specified by:
releasePartitions
in interfaceTaskExecutorGateway
- Parameters:
jobId
- id of the job that the partitions belong topartitionIds
- partition ids to release
-
promotePartitions
public CompletableFuture<Acknowledge> promotePartitions(JobID jobId, Set<ResultPartitionID> partitionIds)
Description copied from interface:TaskExecutorGateway
Batch promote intermediate result partitions.- Specified by:
promotePartitions
in interfaceTaskExecutorGateway
- Parameters:
jobId
- id of the job that the partitions belong topartitionIds
- partition ids to release- Returns:
- Future acknowledge that the partitions are successfully promoted.
-
releaseClusterPartitions
public CompletableFuture<Acknowledge> releaseClusterPartitions(Collection<IntermediateDataSetID> dataSetsToRelease, Duration timeout)
Description copied from interface:TaskExecutorGateway
Releases all cluster partitions belong to any of the given data sets.- Specified by:
releaseClusterPartitions
in interfaceTaskExecutorGateway
- Parameters:
dataSetsToRelease
- data sets for which all cluster partitions should be releasedtimeout
- for the partitions release operation- Returns:
- Future acknowledge that the request was received
-
triggerCheckpoint
public CompletableFuture<Acknowledge> triggerCheckpoint(ExecutionAttemptID executionAttemptID, long checkpointID, long checkpointTimestamp, CheckpointOptions checkpointOptions)
Description copied from interface:TaskExecutorGateway
Trigger the checkpoint for the given task. The checkpoint is identified by the checkpoint ID and the checkpoint timestamp.- Specified by:
triggerCheckpoint
in interfaceTaskExecutorGateway
- Parameters:
executionAttemptID
- identifying the taskcheckpointID
- unique id for the checkpointcheckpointTimestamp
- is the timestamp when the checkpoint has been initiatedcheckpointOptions
- for performing the checkpoint- Returns:
- Future acknowledge if the checkpoint has been successfully triggered
-
confirmCheckpoint
public CompletableFuture<Acknowledge> confirmCheckpoint(ExecutionAttemptID executionAttemptID, long completedCheckpointId, long completedCheckpointTimestamp, long lastSubsumedCheckpointId)
Description copied from interface:TaskExecutorGateway
Confirm a checkpoint for the given task. The checkpoint is identified by the checkpoint ID and the checkpoint timestamp.- Specified by:
confirmCheckpoint
in interfaceTaskExecutorGateway
- Parameters:
executionAttemptID
- identifying the taskcompletedCheckpointId
- unique id for the completed checkpointcompletedCheckpointTimestamp
- is the timestamp when the checkpoint has been initiatedlastSubsumedCheckpointId
- unique id for the checkpoint to be subsumed- Returns:
- Future acknowledge if the checkpoint has been successfully confirmed
-
abortCheckpoint
public CompletableFuture<Acknowledge> abortCheckpoint(ExecutionAttemptID executionAttemptID, long checkpointId, long latestCompletedCheckpointId, long checkpointTimestamp)
Description copied from interface:TaskExecutorGateway
Abort a checkpoint for the given task. The checkpoint is identified by the checkpoint ID and the checkpoint timestamp.- Specified by:
abortCheckpoint
in interfaceTaskExecutorGateway
- Parameters:
executionAttemptID
- identifying the taskcheckpointId
- unique id for the checkpointlatestCompletedCheckpointId
- the id of the latest completed checkpointcheckpointTimestamp
- is the timestamp when the checkpoint has been initiated- Returns:
- Future acknowledge if the checkpoint has been successfully confirmed
-
cancelTask
public CompletableFuture<Acknowledge> cancelTask(ExecutionAttemptID executionAttemptID, Duration timeout)
Description copied from interface:TaskExecutorGateway
Cancel the given task.- Specified by:
cancelTask
in interfaceTaskExecutorGateway
- Parameters:
executionAttemptID
- identifying the tasktimeout
- for the cancel operation- Returns:
- Future acknowledge if the task is successfully canceled
-
heartbeatFromJobManager
public CompletableFuture<Void> heartbeatFromJobManager(ResourceID heartbeatOrigin, AllocatedSlotReport allocatedSlotReport)
Description copied from interface:TaskExecutorGateway
Heartbeat request from the job manager.- Specified by:
heartbeatFromJobManager
in interfaceTaskExecutorGateway
- Parameters:
heartbeatOrigin
- unique id of the job manager- Returns:
- future which is completed exceptionally if the operation fails
-
heartbeatFromResourceManager
public CompletableFuture<Void> heartbeatFromResourceManager(ResourceID heartbeatOrigin)
Description copied from interface:TaskExecutorGateway
Heartbeat request from the resource manager.- Specified by:
heartbeatFromResourceManager
in interfaceTaskExecutorGateway
- Parameters:
heartbeatOrigin
- unique id of the resource manager- Returns:
- future which is completed exceptionally if the operation fails
-
disconnectJobManager
public void disconnectJobManager(JobID jobId, Exception cause)
Description copied from interface:TaskExecutorGateway
Disconnects the given JobManager from the TaskManager.- Specified by:
disconnectJobManager
in interfaceTaskExecutorGateway
- Parameters:
jobId
- JobID for which the JobManager was the leadercause
- for the disconnection from the JobManager
-
disconnectResourceManager
public void disconnectResourceManager(Exception cause)
Description copied from interface:TaskExecutorGateway
Disconnects the ResourceManager from the TaskManager.- Specified by:
disconnectResourceManager
in interfaceTaskExecutorGateway
- Parameters:
cause
- for the disconnection from the ResourceManager
-
freeSlot
public CompletableFuture<Acknowledge> freeSlot(AllocationID allocationId, Throwable cause, Duration timeout)
Description copied from interface:TaskExecutorGateway
Frees the slot with the given allocation ID.- Specified by:
freeSlot
in interfaceTaskExecutorGateway
- Parameters:
allocationId
- identifying the slot to freecause
- of the freeing operationtimeout
- for the operation- Returns:
- Future acknowledge which is returned once the slot has been freed
-
freeInactiveSlots
public void freeInactiveSlots(JobID jobId, Duration timeout)
Description copied from interface:TaskExecutorGateway
Frees all currently inactive slot allocated for the given job.- Specified by:
freeInactiveSlots
in interfaceTaskExecutorGateway
- Parameters:
jobId
- job for which all inactive slots should be releasedtimeout
- for the operation
-
requestFileUploadByType
public CompletableFuture<TransientBlobKey> requestFileUploadByType(FileType fileType, Duration timeout)
Description copied from interface:TaskExecutorGateway
Requests the file upload of the specified type to the cluster'sBlobServer
.- Specified by:
requestFileUploadByType
in interfaceTaskExecutorGateway
- Parameters:
fileType
- to uploadtimeout
- for the asynchronous operation- Returns:
- Future which is completed with the
TransientBlobKey
of the uploaded file.
-
requestFileUploadByName
public CompletableFuture<TransientBlobKey> requestFileUploadByName(String fileName, Duration timeout)
Description copied from interface:TaskExecutorGateway
Requests the file upload of the specified name to the cluster'sBlobServer
.- Specified by:
requestFileUploadByName
in interfaceTaskExecutorGateway
- Parameters:
fileName
- to uploadtimeout
- for the asynchronous operation- Returns:
- Future which is completed with the
TransientBlobKey
of the uploaded file.
-
requestFileUploadByNameAndType
public CompletableFuture<TransientBlobKey> requestFileUploadByNameAndType(String fileName, FileType fileType, Duration timeout)
Description copied from interface:TaskExecutorGateway
Requests the file upload of the specified name and file type to the cluster'sBlobServer
.- Specified by:
requestFileUploadByNameAndType
in interfaceTaskExecutorGateway
- Parameters:
fileName
- to uploadfileType
- to uploadtimeout
- for the asynchronous operation- Returns:
- Future which is completed with the
TransientBlobKey
of the uploaded file.
-
requestMetricQueryServiceAddress
public CompletableFuture<SerializableOptional<String>> requestMetricQueryServiceAddress(Duration timeout)
Description copied from interface:TaskExecutorGateway
Returns the gateway of Metric Query Service on the TaskManager.- Specified by:
requestMetricQueryServiceAddress
in interfaceTaskExecutorGateway
- Returns:
- Future gateway of Metric Query Service on the TaskManager.
-
canBeReleased
public CompletableFuture<Boolean> canBeReleased()
Description copied from interface:TaskExecutorGateway
Checks whether the task executor can be released. It cannot be released if there're unconsumed result partitions.- Specified by:
canBeReleased
in interfaceTaskExecutorGateway
- Returns:
- Future flag indicating whether the task executor can be released.
-
requestLogList
public CompletableFuture<Collection<LogInfo>> requestLogList(Duration timeout)
Description copied from interface:TaskExecutorGateway
Requests for the historical log file names on the TaskManager.- Specified by:
requestLogList
in interfaceTaskExecutorGateway
- Returns:
- A Tuple2 Array with all log file names with its length.
-
sendOperatorEventToTask
public CompletableFuture<Acknowledge> sendOperatorEventToTask(ExecutionAttemptID task, OperatorID operator, SerializedValue<OperatorEvent> evt)
Description copied from interface:TaskExecutorOperatorEventGateway
Sends an operator event to an operator in a task executed by the Task Manager (Task Executor).The reception is acknowledged (future is completed) when the event has been dispatched to the
AbstractInvokable.dispatchOperatorEvent(OperatorID, SerializedValue)
method. It is not guaranteed that the event is processed successfully within the implementation. These cases are up to the task and event sender to handle (for example with an explicit response message upon success, or by triggering failure/recovery upon exception).- Specified by:
sendOperatorEventToTask
in interfaceTaskExecutorGateway
- Specified by:
sendOperatorEventToTask
in interfaceTaskExecutorOperatorEventGateway
-
requestThreadDump
public CompletableFuture<ThreadDumpInfo> requestThreadDump(Duration timeout)
Description copied from interface:TaskExecutorGateway
Requests the thread dump from this TaskManager.- Specified by:
requestThreadDump
in interfaceTaskExecutorGateway
- Parameters:
timeout
- timeout for the asynchronous operation- Returns:
- the
ThreadDumpInfo
for this TaskManager.
-
updateDelegationTokens
public CompletableFuture<Acknowledge> updateDelegationTokens(ResourceManagerId resourceManagerId, byte[] tokens)
Description copied from interface:TaskExecutorGateway
Sends new delegation tokens to this TaskManager.- Specified by:
updateDelegationTokens
in interfaceTaskExecutorGateway
- Parameters:
resourceManagerId
- current leader id of the ResourceManagertokens
- new tokens- Returns:
- Future acknowledge of the successful operation
-
requestProfiling
public CompletableFuture<ProfilingInfo> requestProfiling(int duration, ProfilingInfo.ProfilingMode mode, Duration timeout)
Description copied from interface:TaskExecutorGateway
Requests the profiling from this TaskManager.- Specified by:
requestProfiling
in interfaceTaskExecutorGateway
- Parameters:
duration
- profiling durationmode
- profiling modeProfilingInfo.ProfilingMode
timeout
- timeout for the asynchronous operation- Returns:
- the
ProfilingInfo
for this TaskManager.
-
requestProfilingList
public CompletableFuture<Collection<ProfilingInfo>> requestProfilingList(Duration timeout)
Description copied from interface:TaskExecutorGateway
Requests for the historical profiling file names on the TaskManager.- Specified by:
requestProfilingList
in interfaceTaskExecutorGateway
- Returns:
- A Collection with all profiling instances information.
-
requestThreadInfoSamples
public CompletableFuture<TaskThreadInfoResponse> requestThreadInfoSamples(Collection<ExecutionAttemptID> taskExecutionAttemptIds, ThreadInfoSamplesRequest requestParams, Duration timeout)
Description copied from interface:TaskExecutorThreadInfoGateway
Request a thread info sample from the given tasks.- Specified by:
requestThreadInfoSamples
in interfaceTaskExecutorThreadInfoGateway
- Parameters:
taskExecutionAttemptIds
- identifying the task to samplerequestParams
- parameters of the requesttimeout
- of the request- Returns:
- Future of stack trace sample response
-
-