Class RemoteTierProducerAgent
- java.lang.Object
-
- org.apache.flink.runtime.io.network.partition.hybrid.tiered.tier.remote.RemoteTierProducerAgent
-
- All Implemented Interfaces:
AutoCloseable,TierProducerAgent
public class RemoteTierProducerAgent extends Object implements TierProducerAgent
The implementation ofTierProducerAgentfor the remote tier.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close the agent.booleantryStartNewSegment(TieredStorageSubpartitionId subpartitionId, int segmentId)Try to start a new segment in the Tier.booleantryWrite(TieredStorageSubpartitionId subpartitionId, Buffer buffer, Object bufferOwner)Writes the finishedBufferto the consumer.
-
-
-
Method Detail
-
tryStartNewSegment
public boolean tryStartNewSegment(TieredStorageSubpartitionId subpartitionId, int segmentId)
Description copied from interface:TierProducerAgentTry to start a new segment in the Tier.- Specified by:
tryStartNewSegmentin interfaceTierProducerAgent- Parameters:
subpartitionId- subpartition id that the new segment belongs tosegmentId- id of the new segment- Returns:
- true if the segment can be started, false otherwise.
-
tryWrite
public boolean tryWrite(TieredStorageSubpartitionId subpartitionId, Buffer buffer, Object bufferOwner)
Description copied from interface:TierProducerAgentWrites the finishedBufferto the consumer.Note that the method is successfully executed (without throwing any exception), the buffer should be released by the caller, otherwise the tier should be responsible to recycle the buffer.
- Specified by:
tryWritein interfaceTierProducerAgent- Parameters:
subpartitionId- the subpartition id that the buffer is writing tobuffer- the writing bufferbufferOwner- the current owner of this writing buffer- Returns:
- return true if the buffer is written successfully, return false if the current segment can not store this buffer and the current segment is finished. When returning false, the agent should try start a new segment before writing the buffer.
-
close
public void close()
Description copied from interface:TierProducerAgentClose the agent.Note this only releases resources directly hold by the agent, which excludes resources managed by the resource registry.
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceTierProducerAgent
-
-