Repository: hadoop Updated Branches: refs/heads/HDFS-7285 0799e1e4b -> 9b54e66f3
HDFS-8336. Expose some administrative erasure coding operations to HdfsAdmin (Contributed by Uma Maheswara Rao G) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/9b54e66f Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/9b54e66f Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/9b54e66f Branch: refs/heads/HDFS-7285 Commit: 9b54e66f3ea6a5a6945d18ba534cfb4f2419facb Parents: 0799e1e Author: Vinayakumar B <vinayakum...@apache.org> Authored: Tue Jun 2 16:38:43 2015 +0530 Committer: Vinayakumar B <vinayakum...@apache.org> Committed: Tue Jun 2 16:38:43 2015 +0530 ---------------------------------------------------------------------- .../hadoop-hdfs/CHANGES-HDFS-EC-7285.txt | 3 ++ .../apache/hadoop/hdfs/client/HdfsAdmin.java | 40 ++++++++++++++++++++ 2 files changed, 43 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/9b54e66f/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt index 01d8cf0..e7335b2 100755 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt @@ -265,3 +265,6 @@ HDFS-8481. Erasure coding: remove workarounds in client side stripped blocks recovering. (zhz) + + HDFS-8336. Expose some administrative erasure coding operations to HdfsAdmin + (Uma Maheswara Rao G via vinayakumarb) http://git-wip-us.apache.org/repos/asf/hadoop/blob/9b54e66f/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/client/HdfsAdmin.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/client/HdfsAdmin.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/client/HdfsAdmin.java index 84499bb..5a3c885 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/client/HdfsAdmin.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/client/HdfsAdmin.java @@ -37,9 +37,11 @@ import org.apache.hadoop.hdfs.protocol.CacheDirectiveInfo; import org.apache.hadoop.hdfs.protocol.CachePoolEntry; import org.apache.hadoop.hdfs.protocol.CachePoolInfo; import org.apache.hadoop.hdfs.protocol.EncryptionZone; +import org.apache.hadoop.hdfs.protocol.ErasureCodingZone; import org.apache.hadoop.hdfs.protocol.HdfsConstants; import org.apache.hadoop.security.AccessControlException; import org.apache.hadoop.hdfs.tools.DFSAdmin; +import org.apache.hadoop.io.erasurecode.ECSchema; /** * The public API for performing administrative functions on HDFS. Those writing @@ -363,4 +365,42 @@ public class HdfsAdmin { throws IOException { dfs.setStoragePolicy(src, policyName); } + + /** + * Create the ErasureCoding zone + * + * @param path + * Directory to create the ErasureCoding zone + * @param schema + * ECSchema for the zone. If not specified default will be used. + * @param cellSize + * Cellsize for the striped ErasureCoding + * @throws IOException + */ + public void createErasureCodingZone(final Path path, final ECSchema schema, + final int cellSize) throws IOException { + dfs.createErasureCodingZone(path, schema, cellSize); + } + + /** + * Get the ErasureCoding zone information for the specified path + * + * @param path + * @return Returns the zone information if path is in EC zone, null otherwise + * @throws IOException + */ + public ErasureCodingZone getErasureCodingZone(final Path path) + throws IOException { + return dfs.getErasureCodingZone(path); + } + + /** + * Get the ErasureCoding schemas supported. + * + * @return ECSchemas + * @throws IOException + */ + public ECSchema[] getECSchemas() throws IOException { + return dfs.getClient().getECSchemas(); + } }