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 Detail

      • 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
      • 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

        ResultSubpartitionView.AvailabilityWithBacklog 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()
      • getFailureCause

        Throwable getFailureCause()
      • 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