Interface ChunkManager
- All Known Implementing Classes:
ChunkManagerDispatcher,ChunkManagerDummyImpl,FilePerBlockStrategy,FilePerChunkStrategy
public interface ChunkManager
Chunk Manager allows read, write, delete and listing of chunks in a container.
-
Method Summary
Modifier and TypeMethodDescriptionvoiddeleteChunk(Container container, org.apache.hadoop.hdds.client.BlockID blockID, org.apache.hadoop.ozone.container.common.helpers.ChunkInfo info) Deletes a given chunk.voiddeleteChunks(Container container, org.apache.hadoop.ozone.container.common.helpers.BlockData blockData) default voidfinalizeWriteChunk(KeyValueContainer container, org.apache.hadoop.hdds.client.BlockID blockId) default voidfinishWriteChunks(KeyValueContainer kvContainer, org.apache.hadoop.ozone.container.common.helpers.BlockData blockData) static intgetBufferCapacityForChunkRead(org.apache.hadoop.ozone.container.common.helpers.ChunkInfo chunkInfo, int defaultReadBufferCapacity) default org.apache.ratis.statemachine.StateMachine.DataChannelgetStreamDataChannel(Container container, org.apache.hadoop.hdds.client.BlockID blockID, ContainerMetrics metrics) org.apache.hadoop.ozone.common.ChunkBufferToByteStringreadChunk(Container container, org.apache.hadoop.hdds.client.BlockID blockID, org.apache.hadoop.ozone.container.common.helpers.ChunkInfo info, DispatcherContext dispatcherContext) reads the data defined by a chunk.default voidshutdown()Shutdown the chunkManager.default StringstreamInit(Container container, org.apache.hadoop.hdds.client.BlockID blockID) default voidwriteChunk(Container container, org.apache.hadoop.hdds.client.BlockID blockID, org.apache.hadoop.ozone.container.common.helpers.ChunkInfo info, ByteBuffer data, DispatcherContext dispatcherContext) voidwriteChunk(Container container, org.apache.hadoop.hdds.client.BlockID blockID, org.apache.hadoop.ozone.container.common.helpers.ChunkInfo info, org.apache.hadoop.ozone.common.ChunkBuffer data, DispatcherContext dispatcherContext) writes a given chunk.
-
Method Details
-
writeChunk
void writeChunk(Container container, org.apache.hadoop.hdds.client.BlockID blockID, org.apache.hadoop.ozone.container.common.helpers.ChunkInfo info, org.apache.hadoop.ozone.common.ChunkBuffer data, DispatcherContext dispatcherContext) throws org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException writes a given chunk.- Parameters:
container- - Container for the chunkblockID- - ID of the block.info- - ChunkInfo.data-dispatcherContext- - dispatcher context info.- Throws:
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
-
writeChunk
default void writeChunk(Container container, org.apache.hadoop.hdds.client.BlockID blockID, org.apache.hadoop.ozone.container.common.helpers.ChunkInfo info, ByteBuffer data, DispatcherContext dispatcherContext) throws org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException - Throws:
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
-
readChunk
org.apache.hadoop.ozone.common.ChunkBufferToByteString readChunk(Container container, org.apache.hadoop.hdds.client.BlockID blockID, org.apache.hadoop.ozone.container.common.helpers.ChunkInfo info, DispatcherContext dispatcherContext) throws org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException reads the data defined by a chunk.- Parameters:
container- - Container for the chunkblockID- - ID of the block.info- - ChunkInfo.dispatcherContext- - dispatcher context info.- Returns:
- byte array
- Throws:
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException- TODO: Right now we do not support partial reads and writes of chunks. TODO: Explore if we need to do that for ozone.
-
deleteChunk
void deleteChunk(Container container, org.apache.hadoop.hdds.client.BlockID blockID, org.apache.hadoop.ozone.container.common.helpers.ChunkInfo info) throws org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException Deletes a given chunk.- Parameters:
container- - Container for the chunkblockID- - ID of the block.info- - Chunk Info- Throws:
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
-
deleteChunks
void deleteChunks(Container container, org.apache.hadoop.ozone.container.common.helpers.BlockData blockData) throws org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException - Throws:
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
-
shutdown
default void shutdown()Shutdown the chunkManager. -
finishWriteChunks
default void finishWriteChunks(KeyValueContainer kvContainer, org.apache.hadoop.ozone.container.common.helpers.BlockData blockData) throws IOException - Throws:
IOException
-
finalizeWriteChunk
default void finalizeWriteChunk(KeyValueContainer container, org.apache.hadoop.hdds.client.BlockID blockId) throws IOException - Throws:
IOException
-
streamInit
default String streamInit(Container container, org.apache.hadoop.hdds.client.BlockID blockID) throws org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException - Throws:
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
-
getStreamDataChannel
default org.apache.ratis.statemachine.StateMachine.DataChannel getStreamDataChannel(Container container, org.apache.hadoop.hdds.client.BlockID blockID, ContainerMetrics metrics) throws org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException - Throws:
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
-
getBufferCapacityForChunkRead
static int getBufferCapacityForChunkRead(org.apache.hadoop.ozone.container.common.helpers.ChunkInfo chunkInfo, int defaultReadBufferCapacity)
-