Class RpcTaskManagerGateway

java.lang.Object
org.apache.flink.runtime.jobmaster.RpcTaskManagerGateway
All Implemented Interfaces:
TaskManagerGateway, TaskExecutorOperatorEventGateway

public class RpcTaskManagerGateway extends Object implements TaskManagerGateway
Implementation of the TaskManagerGateway for Flink's RPC system.
  • Constructor Details

  • Method Details

    • getAddress

      public String getAddress()
      Description copied from interface: TaskManagerGateway
      Return the address of the task manager with which the gateway is associated.
      Specified by:
      getAddress in interface TaskManagerGateway
      Returns:
      Address of the task manager with which this gateway is associated.
    • submitTask

      public CompletableFuture<Acknowledge> submitTask(TaskDeploymentDescriptor tdd, Duration timeout)
      Description copied from interface: TaskManagerGateway
      Submit a task to the task manager.
      Specified by:
      submitTask in interface TaskManagerGateway
      Parameters:
      tdd - describing the task to submit
      timeout - of the submit operation
      Returns:
      Future acknowledge of the successful operation
    • cancelTask

      public CompletableFuture<Acknowledge> cancelTask(ExecutionAttemptID executionAttemptID, Duration timeout)
      Description copied from interface: TaskManagerGateway
      Cancel the given task.
      Specified by:
      cancelTask in interface TaskManagerGateway
      Parameters:
      executionAttemptID - identifying the task
      timeout - of the submit operation
      Returns:
      Future acknowledge if the task is successfully canceled
    • updatePartitions

      public CompletableFuture<Acknowledge> updatePartitions(ExecutionAttemptID executionAttemptID, Iterable<PartitionInfo> partitionInfos, Duration timeout)
      Description copied from interface: TaskManagerGateway
      Update the task where the given partitions can be found.
      Specified by:
      updatePartitions in interface TaskManagerGateway
      Parameters:
      executionAttemptID - identifying the task
      partitionInfos - telling where the partition can be retrieved from
      timeout - of the submit operation
      Returns:
      Future acknowledge if the partitions have been successfully updated
    • releasePartitions

      public void releasePartitions(org.apache.flink.api.common.JobID jobId, Set<ResultPartitionID> partitionIds)
      Description copied from interface: TaskManagerGateway
      Batch release intermediate result partitions.
      Specified by:
      releasePartitions in interface TaskManagerGateway
      Parameters:
      jobId - id of the job that the partitions belong to
      partitionIds - partition ids to release
    • notifyCheckpointOnComplete

      public void notifyCheckpointOnComplete(ExecutionAttemptID executionAttemptID, org.apache.flink.api.common.JobID jobId, long completedCheckpointId, long completedTimestamp, long lastSubsumedCheckpointId)
      Description copied from interface: TaskManagerGateway
      Notify the given task about a completed checkpoint and the last subsumed checkpoint id if possible.
      Specified by:
      notifyCheckpointOnComplete in interface TaskManagerGateway
      Parameters:
      executionAttemptID - identifying the task
      jobId - identifying the job to which the task belongs
      completedCheckpointId - of the completed checkpoint
      completedTimestamp - of the completed checkpoint
      lastSubsumedCheckpointId - of the last subsumed checkpoint id,
    • notifyCheckpointAborted

      public void notifyCheckpointAborted(ExecutionAttemptID executionAttemptID, org.apache.flink.api.common.JobID jobId, long checkpointId, long latestCompletedCheckpointId, long timestamp)
      Description copied from interface: TaskManagerGateway
      Notify the given task about a aborted checkpoint.
      Specified by:
      notifyCheckpointAborted in interface TaskManagerGateway
      Parameters:
      executionAttemptID - identifying the task
      jobId - identifying the job to which the task belongs
      checkpointId - of the subsumed checkpoint
      latestCompletedCheckpointId - of the latest completed checkpoint
      timestamp - of the subsumed checkpoint
    • triggerCheckpoint

      public CompletableFuture<Acknowledge> triggerCheckpoint(ExecutionAttemptID executionAttemptID, org.apache.flink.api.common.JobID jobId, long checkpointId, long timestamp, CheckpointOptions checkpointOptions)
      Description copied from interface: TaskManagerGateway
      Trigger for the given task a checkpoint.
      Specified by:
      triggerCheckpoint in interface TaskManagerGateway
      Parameters:
      executionAttemptID - identifying the task
      jobId - identifying the job to which the task belongs
      checkpointId - of the checkpoint to trigger
      timestamp - of the checkpoint to trigger
      checkpointOptions - of the checkpoint to trigger
      Returns:
      Future acknowledge which is returned once the checkpoint has been triggered
    • freeSlot

      public CompletableFuture<Acknowledge> freeSlot(AllocationID allocationId, Throwable cause, Duration timeout)
      Description copied from interface: TaskManagerGateway
      Frees the slot with the given allocation ID.
      Specified by:
      freeSlot in interface TaskManagerGateway
      Parameters:
      allocationId - identifying the slot to free
      cause - of the freeing operation
      timeout - for the operation
      Returns:
      Future acknowledge which is returned once the slot has been freed
    • sendOperatorEventToTask

      public CompletableFuture<Acknowledge> sendOperatorEventToTask(ExecutionAttemptID task, OperatorID operator, org.apache.flink.util.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 interface TaskExecutorOperatorEventGateway
      Specified by:
      sendOperatorEventToTask in interface TaskManagerGateway