public class HsSubpartitionView extends Object implements ResultSubpartitionView, HsSubpartitionViewInternalOperations
ResultSubpartitionView.AvailabilityWithBacklog
Constructor and Description |
---|
HsSubpartitionView(BufferAvailabilityListener availabilityListener) |
Modifier and Type | Method and Description |
---|---|
void |
acknowledgeAllDataProcessed() |
ResultSubpartitionView.AvailabilityWithBacklog |
getAvailabilityAndBacklog(int numCreditsAvailable) |
int |
getConsumingOffset(boolean withLock)
Get the latest consuming offset of the subpartition.
|
Throwable |
getFailureCause()
ResultSubpartitionView can decide whether the failure cause should be reported to
consumer as failure (primary failure) or ProducerFailedException (secondary failure). |
ResultSubpartition.BufferAndBacklog |
getNextBuffer()
Returns the next
Buffer instance of this queue iterator. |
int |
getNumberOfQueuedBuffers() |
boolean |
isReleased() |
void |
notifyDataAvailable()
Callback for new data become available.
|
void |
notifyNewBufferSize(int newBufferSize) |
void |
releaseAllResources() |
void |
resumeConsumption() |
int |
unsynchronizedGetNumberOfQueuedBuffers() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
notifyPriorityEvent
public HsSubpartitionView(BufferAvailabilityListener availabilityListener)
@Nullable public ResultSubpartition.BufferAndBacklog getNextBuffer()
ResultSubpartitionView
Buffer
instance of this queue iterator.
If there is currently no instance available, it will return null
. This might
happen for example when a pipelined queue producer is slower than the consumer or a spilled
queue needs to read in more data.
Important: The consumer has to make sure that each buffer instance will
eventually be recycled with Buffer.recycleBuffer()
after it has been consumed.
getNextBuffer
in interface ResultSubpartitionView
public void notifyDataAvailable()
HsSubpartitionViewInternalOperations
notifyDataAvailable
in interface HsSubpartitionViewInternalOperations
notifyDataAvailable
in interface ResultSubpartitionView
public ResultSubpartitionView.AvailabilityWithBacklog getAvailabilityAndBacklog(int numCreditsAvailable)
getAvailabilityAndBacklog
in interface ResultSubpartitionView
public void releaseAllResources() throws IOException
releaseAllResources
in interface ResultSubpartitionView
IOException
public boolean isReleased()
isReleased
in interface ResultSubpartitionView
public int getConsumingOffset(boolean withLock)
HsSubpartitionViewInternalOperations
getConsumingOffset
in interface HsSubpartitionViewInternalOperations
withLock
- If true, read the consuming offset outside the guarding of lock. This is
sometimes desired to avoid lock contention, if the caller does not depend on any other
states to change atomically with the consuming offset.public Throwable getFailureCause()
ResultSubpartitionView
ResultSubpartitionView
can decide whether the failure cause should be reported to
consumer as failure (primary failure) or ProducerFailedException
(secondary failure).
Secondary failure can be reported only if producer (upstream task) is guaranteed to failover.
BEWARE: Incorrectly reporting failure cause as primary failure, can hide the root cause of the failure from the user.
getFailureCause
in interface ResultSubpartitionView
public void resumeConsumption()
resumeConsumption
in interface ResultSubpartitionView
public void acknowledgeAllDataProcessed()
acknowledgeAllDataProcessed
in interface ResultSubpartitionView
public int unsynchronizedGetNumberOfQueuedBuffers()
unsynchronizedGetNumberOfQueuedBuffers
in interface ResultSubpartitionView
public int getNumberOfQueuedBuffers()
getNumberOfQueuedBuffers
in interface ResultSubpartitionView
public void notifyNewBufferSize(int newBufferSize)
notifyNewBufferSize
in interface ResultSubpartitionView
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.