Interface PartitionRequestClient

All Known Implementing Classes:
NettyPartitionRequestClient

public interface PartitionRequestClient
Client to send messages or task events via network for RemoteInputChannel.
  • Method Details

    • requestSubpartition

      void requestSubpartition(ResultPartitionID partitionId, ResultSubpartitionIndexSet subpartitionIndexSet, RemoteInputChannel inputChannel, int delayMs) throws IOException
      Requests a range of remote sub partitions.
      Parameters:
      partitionId - The identifier of result partition to be requested.
      subpartitionIndexSet - The sub partition index range in the requested result partition.
      inputChannel - The remote input channel for requesting the sub partition.
      delayMs - The request is scheduled within a delay time.
      Throws:
      IOException
    • notifyCreditAvailable

      void notifyCreditAvailable(RemoteInputChannel inputChannel)
      Notifies available credits from one remote input channel.
      Parameters:
      inputChannel - The remote input channel who announces the available credits.
    • notifyNewBufferSize

      void notifyNewBufferSize(RemoteInputChannel inputChannel, int bufferSize)
      Notifies new buffer size from one remote input channel.
      Parameters:
      inputChannel - The remote input channel who announces the new buffer size.
      bufferSize - The new buffer size.
    • notifyRequiredSegmentId

      void notifyRequiredSegmentId(RemoteInputChannel inputChannel, int subpartitionIndex, int segmentId)
      Notifies the id of segment required from one remote input channel.
      Parameters:
      inputChannel - The remote input channel who requires segment.
      subpartitionIndex - The id of the corresponding subpartition.
      segmentId - The id of segment.
    • resumeConsumption

      void resumeConsumption(RemoteInputChannel inputChannel)
      Requests to resume data consumption from one remote input channel.
      Parameters:
      inputChannel - The remote input channel who is ready to resume data consumption.
    • acknowledgeAllRecordsProcessed

      void acknowledgeAllRecordsProcessed(RemoteInputChannel inputChannel)
      Acknowledges all user records are processed for this channel.
      Parameters:
      inputChannel - The input channel to resume data consumption.
    • sendTaskEvent

      void sendTaskEvent(ResultPartitionID partitionId, TaskEvent event, RemoteInputChannel inputChannel) throws IOException
      Sends a task event backwards to an intermediate result partition.
      Parameters:
      partitionId - The identifier of result partition.
      event - The task event to be sent.
      inputChannel - The remote input channel for sending this event.
      Throws:
      IOException
    • close

      void close(RemoteInputChannel inputChannel) throws IOException
      Cancels the partition request for the given remote input channel and removes this client from factory if it is not referenced by any other input channels.
      Parameters:
      inputChannel - The remote input channel for canceling partition and to be removed from network stack.
      Throws:
      IOException