Class ChunkManagerDispatcher
java.lang.Object
org.apache.hadoop.ozone.container.keyvalue.impl.ChunkManagerDispatcher
- All Implemented Interfaces:
ChunkManager
Selects ChunkManager implementation to use for each chunk operation.
-
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) voidfinalizeWriteChunk(KeyValueContainer kvContainer, org.apache.hadoop.hdds.client.BlockID blockId) voidfinishWriteChunks(KeyValueContainer kvContainer, org.apache.hadoop.ozone.container.common.helpers.BlockData blockData) 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.voidshutdown()Shutdown the chunkManager.streamInit(Container container, org.apache.hadoop.hdds.client.BlockID blockID) 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.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.hadoop.ozone.container.keyvalue.interfaces.ChunkManager
writeChunk
-
Method Details
-
writeChunk
public 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 Description copied from interface:ChunkManagerwrites a given chunk.- Specified by:
writeChunkin interfaceChunkManager- 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
-
streamInit
public String streamInit(Container container, org.apache.hadoop.hdds.client.BlockID blockID) throws org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException - Specified by:
streamInitin interfaceChunkManager- Throws:
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
-
getStreamDataChannel
public 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 - Specified by:
getStreamDataChannelin interfaceChunkManager- Throws:
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
-
finishWriteChunks
public void finishWriteChunks(KeyValueContainer kvContainer, org.apache.hadoop.ozone.container.common.helpers.BlockData blockData) throws IOException - Specified by:
finishWriteChunksin interfaceChunkManager- Throws:
IOException
-
finalizeWriteChunk
public void finalizeWriteChunk(KeyValueContainer kvContainer, org.apache.hadoop.hdds.client.BlockID blockId) throws IOException - Specified by:
finalizeWriteChunkin interfaceChunkManager- Throws:
IOException
-
readChunk
public 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 Description copied from interface:ChunkManagerreads the data defined by a chunk.- Specified by:
readChunkin interfaceChunkManager- 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
public 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 Description copied from interface:ChunkManagerDeletes a given chunk.- Specified by:
deleteChunkin interfaceChunkManager- Parameters:
container- - Container for the chunkblockID- - ID of the block.info- - Chunk Info- Throws:
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
-
deleteChunks
public void deleteChunks(Container container, org.apache.hadoop.ozone.container.common.helpers.BlockData blockData) throws org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException - Specified by:
deleteChunksin interfaceChunkManager- Throws:
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
-
shutdown
public void shutdown()Description copied from interface:ChunkManagerShutdown the chunkManager.- Specified by:
shutdownin interfaceChunkManager
-