public class RemoteInputChannel extends InputChannel
InputChannel.BufferAndAvailability
channelInfo, consumedSubpartitionIndex, initialBackoff, inputGate, maxBackoff, numBuffersIn, numBytesIn, partitionId
Constructor and Description |
---|
RemoteInputChannel(SingleInputGate inputGate,
int channelIndex,
ResultPartitionID partitionId,
int consumedSubpartitionIndex,
ConnectionID connectionId,
ConnectionManager connectionManager,
int initialBackOff,
int maxBackoff,
int networkBuffersPerChannel,
Counter numBytesIn,
Counter numBuffersIn,
ChannelStateWriter stateWriter) |
Modifier and Type | Method and Description |
---|---|
void |
acknowledgeAllRecordsProcessed()
When received
EndOfData from one channel, it need to acknowledge after this event get
processed. |
void |
checkpointStarted(CheckpointBarrier barrier)
Spills all queued buffers on checkpoint start.
|
void |
checkpointStopped(long checkpointId)
Called by task thread on cancel/complete to clean-up temporary data.
|
void |
convertToPriorityEvent(int sequenceNumber) |
int |
getAndResetUnannouncedCredit()
Gets the unannounced credit and resets it to 0 atomically.
|
BufferProvider |
getBufferProvider() |
int |
getInitialCredit() |
InputChannelID |
getInputChannelId() |
Buffer |
getNextReceivedBuffer() |
int |
getNumberOfAvailableBuffers() |
int |
getNumberOfQueuedBuffers()
Gets the current number of received buffers which have not been processed yet.
|
int |
getNumberOfRequiredBuffers() |
int |
getSenderBacklog() |
int |
getUnannouncedCredit()
Gets the currently unannounced credit.
|
boolean |
isReleased() |
void |
notifyBufferAvailable(int numAvailableBuffers)
The unannounced credit is increased by the given amount and might notify increased credit to
the producer.
|
void |
onBuffer(Buffer buffer,
int sequenceNumber,
int backlog)
Handles the input buffer.
|
void |
onEmptyBuffer(int sequenceNumber,
int backlog) |
void |
onError(Throwable cause) |
void |
onFailedPartitionRequest() |
void |
onSenderBacklog(int backlog)
Receives the backlog from the producer's buffer response.
|
Buffer |
requestBuffer()
Requests buffer from input channel directly for receiving network data.
|
void |
requestSubpartition()
Requests a remote subpartition.
|
void |
resumeConsumption()
After sending a
CheckpointBarrier of
exactly-once mode, the upstream will be blocked and become unavailable. |
String |
toString() |
int |
unsynchronizedGetExclusiveBuffersUsed() |
int |
unsynchronizedGetFloatingBuffersAvailable() |
int |
unsynchronizedGetNumberOfQueuedBuffers() |
long |
unsynchronizedGetSizeOfQueuedBuffers() |
checkError, getChannelIndex, getChannelInfo, getConsumedSubpartitionIndex, getCurrentBackoff, getPartitionId, increaseBackoff, notifyChannelNonEmpty, notifyPriorityEvent, setError
public RemoteInputChannel(SingleInputGate inputGate, int channelIndex, ResultPartitionID partitionId, int consumedSubpartitionIndex, ConnectionID connectionId, ConnectionManager connectionManager, int initialBackOff, int maxBackoff, int networkBuffersPerChannel, Counter numBytesIn, Counter numBuffersIn, ChannelStateWriter stateWriter)
@VisibleForTesting public void requestSubpartition() throws IOException, InterruptedException
IOException
InterruptedException
public boolean isReleased()
@VisibleForTesting public int getNumberOfAvailableBuffers()
@VisibleForTesting public int getNumberOfRequiredBuffers()
@VisibleForTesting public int getSenderBacklog()
@VisibleForTesting public Buffer getNextReceivedBuffer()
public void notifyBufferAvailable(int numAvailableBuffers) throws IOException
notifyBufferAvailable
in class InputChannel
IOException
public void resumeConsumption() throws IOException
InputChannel
CheckpointBarrier
of
exactly-once mode, the upstream will be blocked and become unavailable. This method tries to
unblock the corresponding upstream and resume data consumption.resumeConsumption
in class InputChannel
IOException
public void acknowledgeAllRecordsProcessed() throws IOException
InputChannel
EndOfData
from one channel, it need to acknowledge after this event get
processed.acknowledgeAllRecordsProcessed
in class InputChannel
IOException
public int getUnannouncedCredit()
public int getAndResetUnannouncedCredit()
public int getNumberOfQueuedBuffers()
public int unsynchronizedGetNumberOfQueuedBuffers()
unsynchronizedGetNumberOfQueuedBuffers
in class InputChannel
public long unsynchronizedGetSizeOfQueuedBuffers()
unsynchronizedGetSizeOfQueuedBuffers
in class InputChannel
public int unsynchronizedGetExclusiveBuffersUsed()
public int unsynchronizedGetFloatingBuffersAvailable()
public InputChannelID getInputChannelId()
public int getInitialCredit()
public BufferProvider getBufferProvider() throws IOException
IOException
@Nullable public Buffer requestBuffer()
public void onSenderBacklog(int backlog) throws IOException
backlog
- The number of unsent buffers in the producer's sub partition.IOException
public void onBuffer(Buffer buffer, int sequenceNumber, int backlog) throws IOException
IOException
public void checkpointStarted(CheckpointBarrier barrier) throws CheckpointException
checkpointStarted
in class InputChannel
CheckpointException
public void checkpointStopped(long checkpointId)
InputChannel
checkpointStopped
in class InputChannel
public void convertToPriorityEvent(int sequenceNumber) throws IOException
convertToPriorityEvent
in class InputChannel
IOException
public void onEmptyBuffer(int sequenceNumber, int backlog) throws IOException
IOException
public void onFailedPartitionRequest()
public void onError(Throwable cause)
Copyright © 2014–2023 The Apache Software Foundation. All rights reserved.