Interface NetworkSequenceViewReader


public interface NetworkSequenceViewReader
Simple wrapper for the partition readerQueue iterator, which increments a sequence number for each returned buffer and remembers the receiver ID.
  • Method Details

    • requestSubpartitionViewOrRegisterListener

      void requestSubpartitionViewOrRegisterListener(ResultPartitionProvider partitionProvider, ResultPartitionID resultPartitionId, ResultSubpartitionIndexSet subpartitionIndexSet) throws IOException
      When the netty server receives the downstream task's partition request and the upstream task has registered its partition, it will process the partition request immediately, otherwise it will create a PartitionRequestListener for given ResultPartitionID in ResultPartitionManager and notify the listener when the upstream task registers its partition.
      Parameters:
      partitionProvider - the result partition provider
      resultPartitionId - the result partition id
      subpartitionIndexSet - the sub partition indexes
      Throws:
      IOException - the thrown exception
    • notifySubpartitionsCreated

      void notifySubpartitionsCreated(ResultPartition partition, ResultSubpartitionIndexSet subpartitionIndexSet) throws IOException
      When the ResultPartitionManager registers ResultPartition, it will get the PartitionRequestListener via given ResultPartitionID, and create subpartition view reader for downstream task.
      Parameters:
      partition - the result partition
      subpartitionIndexSet - the sub partition indexes
      Throws:
      IOException - the thrown exception
    • peekNextBufferSubpartitionId

      int peekNextBufferSubpartitionId() throws IOException
      Throws:
      IOException
    • getNextBuffer

      @Nullable InputChannel.BufferAndAvailability getNextBuffer() throws IOException
      Throws:
      IOException
    • needAnnounceBacklog

      boolean needAnnounceBacklog()
      Returns true if the producer backlog need to be announced to the consumer.
    • addCredit

      void addCredit(int creditDeltas)
      The credits from consumer are added in incremental way.
      Parameters:
      creditDeltas - The credit deltas
    • notifyRequiredSegmentId

      void notifyRequiredSegmentId(int subpartitionId, int segmentId)
      Notify the id of required segment from consumer.
      Parameters:
      subpartitionId - The id of the corresponding subpartition.
      segmentId - The id of required segment.
    • resumeConsumption

      void resumeConsumption()
      Resumes data consumption after an exactly once checkpoint.
    • acknowledgeAllRecordsProcessed

      void acknowledgeAllRecordsProcessed()
      Acknowledges all the user records are processed.
    • getAvailabilityAndBacklog

      Checks whether this reader is available or not and returns the backlog at the same time.
      Returns:
      A boolean flag indicating whether the reader is available together with the backlog.
    • isRegisteredAsAvailable

      boolean isRegisteredAsAvailable()
    • setRegisteredAsAvailable

      void setRegisteredAsAvailable(boolean isRegisteredAvailable)
      Updates the value to indicate whether the reader is enqueued in the pipeline or not.
      Parameters:
      isRegisteredAvailable - True if this reader is already enqueued in the pipeline.
    • isReleased

      boolean isReleased()
    • releaseAllResources

      void releaseAllResources() throws IOException
      Throws:
      IOException
    • getFailureCause

      Throwable getFailureCause()
    • getReceiverId

      InputChannelID getReceiverId()
    • notifyNewBufferSize

      void notifyNewBufferSize(int newBufferSize)
    • notifyPartitionRequestTimeout

      void notifyPartitionRequestTimeout(PartitionRequestListener partitionRequestListener)
      When the partition request from the given downstream task is timeout, it should notify the reader in netty server and send PartitionNotFoundException to the task.
      Parameters:
      partitionRequestListener - the timeout message of given PartitionRequestListener