Class ChunkManagerDispatcher

java.lang.Object
org.apache.hadoop.ozone.container.keyvalue.impl.ChunkManagerDispatcher
All Implemented Interfaces:
ChunkManager

public class ChunkManagerDispatcher extends Object implements ChunkManager
Selects ChunkManager implementation to use for each chunk operation.
  • 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: ChunkManager
      writes a given chunk.
      Specified by:
      writeChunk in interface ChunkManager
      Parameters:
      container - - Container for the chunk
      blockID - - 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:
      streamInit in interface ChunkManager
      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:
      getStreamDataChannel in interface ChunkManager
      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:
      finishWriteChunks in interface ChunkManager
      Throws:
      IOException
    • finalizeWriteChunk

      public void finalizeWriteChunk(KeyValueContainer kvContainer, org.apache.hadoop.hdds.client.BlockID blockId) throws IOException
      Specified by:
      finalizeWriteChunk in interface ChunkManager
      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: ChunkManager
      reads the data defined by a chunk.
      Specified by:
      readChunk in interface ChunkManager
      Parameters:
      container - - Container for the chunk
      blockID - - 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: ChunkManager
      Deletes a given chunk.
      Specified by:
      deleteChunk in interface ChunkManager
      Parameters:
      container - - Container for the chunk
      blockID - - 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:
      deleteChunks in interface ChunkManager
      Throws:
      org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
    • shutdown

      public void shutdown()
      Description copied from interface: ChunkManager
      Shutdown the chunkManager.
      Specified by:
      shutdown in interface ChunkManager