Class ErasureCodingUtils

java.lang.Object
org.apache.hadoop.hbase.fs.ErasureCodingUtils

@Private public final class ErasureCodingUtils extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final org.slf4j.Logger
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private static void
    checkAvailable(org.apache.hadoop.hdfs.DistributedFileSystem dfs, String policy)
     
    private static org.apache.hadoop.fs.Path
    createTempDir(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path tempDir)
     
    private static org.apache.hadoop.hdfs.DistributedFileSystem
    getDfs(org.apache.hadoop.conf.Configuration conf)
     
    private static org.apache.hadoop.hdfs.DistributedFileSystem
    getDfs(org.apache.hadoop.fs.FileSystem fs)
     
    static boolean
    needsSync(TableDescriptor oldDescriptor, TableDescriptor newDescriptor)
    Check if EC policy is different between two descriptors
    static void
    setPolicy(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path path, String policy)
    Sets the EC policy on the path
    static void
    setPolicy(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path rootDir, TableName tableName, String policy)
    Sets the EC policy on the table directory for the specified table
    static void
    sync(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path rootDir, TableDescriptor newDescriptor)
    Sync the EC policy state from the newDescriptor onto the FS for the table dir of the provided table descriptor.
    static void
    unsetPolicy(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path rootDir, TableName tableName)
    Unsets any EC policy specified on the path.
    static void
    verifySupport(org.apache.hadoop.conf.Configuration conf, String policy)
    Runs checks against the FileSystem, verifying that HDFS is supported and the policy is available, enabled, and works with a simple write.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOG

      private static final org.slf4j.Logger LOG
  • Constructor Details

  • Method Details

    • verifySupport

      public static void verifySupport(org.apache.hadoop.conf.Configuration conf, String policy) throws HBaseIOException
      Runs checks against the FileSystem, verifying that HDFS is supported and the policy is available, enabled, and works with a simple write.
      Throws:
      HBaseIOException
    • createTempDir

      private static org.apache.hadoop.fs.Path createTempDir(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path tempDir) throws HBaseIOException
      Throws:
      HBaseIOException
    • checkAvailable

      private static void checkAvailable(org.apache.hadoop.hdfs.DistributedFileSystem dfs, String policy) throws HBaseIOException
      Throws:
      HBaseIOException
    • needsSync

      public static boolean needsSync(TableDescriptor oldDescriptor, TableDescriptor newDescriptor)
      Check if EC policy is different between two descriptors
      Returns:
      true if a sync is necessary
    • sync

      public static void sync(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path rootDir, TableDescriptor newDescriptor) throws IOException
      Sync the EC policy state from the newDescriptor onto the FS for the table dir of the provided table descriptor. If the policy is null, we will remove erasure coding from the FS for the table dir. If it's non-null, we'll set it to that policy.
      Parameters:
      newDescriptor - descriptor containing the policy and table name
      Throws:
      IOException
    • setPolicy

      public static void setPolicy(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path rootDir, TableName tableName, String policy) throws IOException
      Sets the EC policy on the table directory for the specified table
      Throws:
      IOException
    • setPolicy

      public static void setPolicy(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path path, String policy) throws IOException
      Sets the EC policy on the path
      Throws:
      IOException
    • unsetPolicy

      public static void unsetPolicy(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path rootDir, TableName tableName) throws IOException
      Unsets any EC policy specified on the path.
      Throws:
      IOException
    • getDfs

      private static org.apache.hadoop.hdfs.DistributedFileSystem getDfs(org.apache.hadoop.conf.Configuration conf) throws HBaseIOException
      Throws:
      HBaseIOException
    • getDfs

      private static org.apache.hadoop.hdfs.DistributedFileSystem getDfs(org.apache.hadoop.fs.FileSystem fs) throws DoNotRetryIOException
      Throws:
      DoNotRetryIOException