Class FilePerChunkStrategy

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

public class FilePerChunkStrategy extends Object implements ChunkManager
This class is for performing chunk related operations.
  • Constructor Details

    • FilePerChunkStrategy

      public FilePerChunkStrategy(boolean sync, BlockManager manager)
  • 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
      writes a given chunk.
      Specified by:
      writeChunk in interface ChunkManager
      Parameters:
      container - - Container for the chunk
      blockID - - ID of the block
      info - - ChunkInfo
      data - - data of the chunk
      dispatcherContext - - dispatcherContextInfo
      Throws:
      org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
    • 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
      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
      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