Class MutableVolumeSet

java.lang.Object
org.apache.hadoop.ozone.container.common.volume.MutableVolumeSet
All Implemented Interfaces:
VolumeSet, org.apache.hadoop.ozone.lock.ReadWriteLockable

public class MutableVolumeSet extends Object implements VolumeSet
VolumeSet to manage volumes in a DataNode.
  • Constructor Details

  • Method Details

    • setFailedVolumeListener

      public void setFailedVolumeListener(org.apache.ratis.util.function.CheckedRunnable<IOException> runnable)
    • getVolumeChecker

      public StorageVolumeChecker getVolumeChecker()
    • checkAllVolumes

      public void checkAllVolumes() throws IOException
      Run a synchronous parallel check of all volumes, removing failed volumes.
      Throws:
      IOException
    • checkAllVolumes

      public void checkAllVolumes(StorageVolumeChecker checker) throws IOException
      Specified by:
      checkAllVolumes in interface VolumeSet
      Throws:
      IOException
    • checkVolumeAsync

      public void checkVolumeAsync(StorageVolume volume)
    • startAllVolume

      public void startAllVolume() throws IOException
      Throws:
      IOException
    • refreshAllVolumeUsage

      public void refreshAllVolumeUsage()
    • setGatherContainerUsages

      public void setGatherContainerUsages(Function<HddsVolume,Long> gatherContainerUsages)
    • readLock

      public void readLock()
      Acquire Volume Set Read lock.
      Specified by:
      readLock in interface org.apache.hadoop.ozone.lock.ReadWriteLockable
    • readUnlock

      public void readUnlock()
      Release Volume Set Read lock.
      Specified by:
      readUnlock in interface org.apache.hadoop.ozone.lock.ReadWriteLockable
    • writeLock

      public void writeLock()
      Acquire Volume Set Write lock.
      Specified by:
      writeLock in interface org.apache.hadoop.ozone.lock.ReadWriteLockable
    • writeUnlock

      public void writeUnlock()
      Release Volume Set Write lock.
      Specified by:
      writeUnlock in interface org.apache.hadoop.ozone.lock.ReadWriteLockable
    • failVolume

      public void failVolume(String volumeRoot)
    • removeVolume

      public void removeVolume(String volumeRoot) throws IOException
      Throws:
      IOException
    • shutdown

      public void shutdown()
      Shutdown the volumeset.
    • getVolumesList

      public List<StorageVolume> getVolumesList()
      Specified by:
      getVolumesList in interface VolumeSet
    • getFailedVolumesList

      public List<StorageVolume> getFailedVolumesList()
    • getVolumeMap

      public Map<String,StorageVolume> getVolumeMap()
    • setVolumeMap

      public void setVolumeMap(Map<String,StorageVolume> map)
    • getVolumeStateMap

      public Map<org.apache.hadoop.fs.StorageType,List<StorageVolume>> getVolumeStateMap()
    • hasEnoughVolumes

      public boolean hasEnoughVolumes()
    • getStorageReport

      public StorageLocationReport[] getStorageReport()
    • getVolumeType

      public StorageVolume.VolumeType getVolumeType()
    • getVolumeHealthMetrics

      public VolumeHealthMetrics getVolumeHealthMetrics()