Repository: hadoop Updated Branches: refs/heads/trunk fde729fee -> 66e2cfa1a
HDFS-8632. Add InterfaceAudience annotation to the erasure coding classes. Contributed by Rakesh R. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/66e2cfa1 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/66e2cfa1 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/66e2cfa1 Branch: refs/heads/trunk Commit: 66e2cfa1a0285f2b4f62a4ffb4d5c1ee54f76156 Parents: fde729f Author: Andrew Wang <[email protected]> Authored: Wed Oct 7 18:12:26 2015 -0700 Committer: Andrew Wang <[email protected]> Committed: Wed Oct 7 18:12:26 2015 -0700 ---------------------------------------------------------------------- .../main/java/org/apache/hadoop/io/erasurecode/CodecUtil.java | 2 ++ .../src/main/java/org/apache/hadoop/io/erasurecode/ECBlock.java | 3 +++ .../java/org/apache/hadoop/io/erasurecode/ECBlockGroup.java | 3 +++ .../src/main/java/org/apache/hadoop/io/erasurecode/ECChunk.java | 3 +++ .../main/java/org/apache/hadoop/io/erasurecode/ECSchema.java | 5 +++++ .../hadoop/io/erasurecode/codec/AbstractErasureCodec.java | 2 ++ .../org/apache/hadoop/io/erasurecode/codec/ErasureCodec.java | 2 ++ .../org/apache/hadoop/io/erasurecode/codec/RSErasureCodec.java | 2 ++ .../org/apache/hadoop/io/erasurecode/codec/XORErasureCodec.java | 2 ++ .../hadoop/io/erasurecode/coder/AbstractErasureCoder.java | 2 ++ .../hadoop/io/erasurecode/coder/AbstractErasureCodingStep.java | 2 ++ .../hadoop/io/erasurecode/coder/AbstractErasureDecoder.java | 2 ++ .../hadoop/io/erasurecode/coder/AbstractErasureEncoder.java | 2 ++ .../org/apache/hadoop/io/erasurecode/coder/ErasureCoder.java | 2 ++ .../apache/hadoop/io/erasurecode/coder/ErasureCodingStep.java | 2 ++ .../apache/hadoop/io/erasurecode/coder/ErasureDecodingStep.java | 2 ++ .../apache/hadoop/io/erasurecode/coder/ErasureEncodingStep.java | 2 ++ .../apache/hadoop/io/erasurecode/coder/RSErasureDecoder.java | 2 ++ .../apache/hadoop/io/erasurecode/coder/RSErasureEncoder.java | 2 ++ .../apache/hadoop/io/erasurecode/coder/XORErasureDecoder.java | 2 ++ .../apache/hadoop/io/erasurecode/coder/XORErasureEncoder.java | 2 ++ .../org/apache/hadoop/io/erasurecode/grouper/BlockGrouper.java | 2 ++ .../hadoop/io/erasurecode/rawcoder/AbstractRawErasureCoder.java | 3 ++- .../io/erasurecode/rawcoder/AbstractRawErasureDecoder.java | 2 ++ .../io/erasurecode/rawcoder/AbstractRawErasureEncoder.java | 2 ++ .../org/apache/hadoop/io/erasurecode/rawcoder/RSRawDecoder.java | 2 ++ .../org/apache/hadoop/io/erasurecode/rawcoder/RSRawEncoder.java | 2 ++ .../io/erasurecode/rawcoder/RSRawErasureCoderFactory.java | 3 +++ .../apache/hadoop/io/erasurecode/rawcoder/RawErasureCoder.java | 2 ++ .../hadoop/io/erasurecode/rawcoder/RawErasureCoderFactory.java | 3 +++ .../hadoop/io/erasurecode/rawcoder/RawErasureDecoder.java | 2 ++ .../hadoop/io/erasurecode/rawcoder/RawErasureEncoder.java | 2 ++ .../apache/hadoop/io/erasurecode/rawcoder/XORRawDecoder.java | 3 +++ .../apache/hadoop/io/erasurecode/rawcoder/XORRawEncoder.java | 3 +++ .../io/erasurecode/rawcoder/XORRawErasureCoderFactory.java | 3 +++ .../apache/hadoop/io/erasurecode/rawcoder/util/DumpUtil.java | 2 ++ .../apache/hadoop/io/erasurecode/rawcoder/util/GaloisField.java | 3 +++ .../org/apache/hadoop/io/erasurecode/rawcoder/util/RSUtil.java | 3 +++ .../main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java | 2 ++ .../main/java/org/apache/hadoop/hdfs/StripedDataStreamer.java | 2 ++ .../org/apache/hadoop/hdfs/protocol/ErasureCodingPolicy.java | 4 ++++ hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../hadoop/hdfs/server/blockmanagement/BlockInfoStriped.java | 2 ++ .../hdfs/server/blockmanagement/BlockPlacementPolicies.java | 2 ++ .../hdfs/server/datanode/erasurecode/ErasureCodingWorker.java | 2 ++ .../java/org/apache/hadoop/hdfs/tools/erasurecode/ECCli.java | 2 ++ 46 files changed, 108 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/CodecUtil.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/CodecUtil.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/CodecUtil.java index 027d58b..87bedf8 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/CodecUtil.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/CodecUtil.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.CommonConfigurationKeys; import org.apache.hadoop.io.erasurecode.rawcoder.*; @@ -24,6 +25,7 @@ import org.apache.hadoop.io.erasurecode.rawcoder.*; /** * A codec & coder utility to help create raw coders conveniently. */ [email protected] public final class CodecUtil { private CodecUtil() { } http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECBlock.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECBlock.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECBlock.java index 5c0a160..a3f24c8 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECBlock.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECBlock.java @@ -17,12 +17,15 @@ */ package org.apache.hadoop.io.erasurecode; +import org.apache.hadoop.classification.InterfaceAudience; + /** * A wrapper of block level data source/output that {@link ECChunk}s can be * extracted from. For HDFS, it can be an HDFS block (250MB). Note it only cares * about erasure coding specific logic thus avoids coupling with any HDFS block * details. We can have something like HdfsBlock extend it. */ [email protected] public class ECBlock { private boolean isParity; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECBlockGroup.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECBlockGroup.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECBlockGroup.java index 91e4fb8..c52d947 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECBlockGroup.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECBlockGroup.java @@ -17,9 +17,12 @@ */ package org.apache.hadoop.io.erasurecode; +import org.apache.hadoop.classification.InterfaceAudience; + /** * A group of blocks or {@link ECBlock} incurred in an erasure coding task. */ [email protected] public class ECBlockGroup { private ECBlock[] dataBlocks; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECChunk.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECChunk.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECChunk.java index d0120d8..cd7c6be 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECChunk.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECChunk.java @@ -19,9 +19,12 @@ package org.apache.hadoop.io.erasurecode; import java.nio.ByteBuffer; +import org.apache.hadoop.classification.InterfaceAudience; + /** * A wrapper for ByteBuffer or bytes array for an erasure code chunk. */ [email protected] public class ECChunk { private ByteBuffer chunkBuffer; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECSchema.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECSchema.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECSchema.java index 0d5bf8f..1be653b 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECSchema.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/ECSchema.java @@ -21,9 +21,14 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; +import org.apache.hadoop.classification.InterfaceAudience; +import org.apache.hadoop.classification.InterfaceStability; + /** * Erasure coding schema to housekeeper relevant information. */ [email protected] [email protected] public final class ECSchema { public static final String NUM_DATA_UNITS_KEY = "numDataUnits"; public static final String NUM_PARITY_UNITS_KEY = "numParityUnits"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/AbstractErasureCodec.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/AbstractErasureCodec.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/AbstractErasureCodec.java index 0cacfbc..e2fb2cb 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/AbstractErasureCodec.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/AbstractErasureCodec.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.codec; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.conf.Configured; import org.apache.hadoop.io.erasurecode.ECSchema; import org.apache.hadoop.io.erasurecode.grouper.BlockGrouper; @@ -24,6 +25,7 @@ import org.apache.hadoop.io.erasurecode.grouper.BlockGrouper; /** * Abstract Erasure Codec that implements {@link ErasureCodec}. */ [email protected] public abstract class AbstractErasureCodec extends Configured implements ErasureCodec { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/ErasureCodec.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/ErasureCodec.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/ErasureCodec.java index 9aa3db2..a2ea865 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/ErasureCodec.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/ErasureCodec.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.codec; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.conf.Configurable; import org.apache.hadoop.io.erasurecode.coder.ErasureCoder; import org.apache.hadoop.io.erasurecode.grouper.BlockGrouper; @@ -26,6 +27,7 @@ import org.apache.hadoop.io.erasurecode.grouper.BlockGrouper; * Currently it cares only block grouper and erasure coder. In future we may * add more aspects here to make the behaviors customizable. */ [email protected] public interface ErasureCodec extends Configurable { /** http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/RSErasureCodec.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/RSErasureCodec.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/RSErasureCodec.java index 6edd638..7a5786e 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/RSErasureCodec.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/RSErasureCodec.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.codec; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECSchema; import org.apache.hadoop.io.erasurecode.coder.ErasureCoder; import org.apache.hadoop.io.erasurecode.coder.RSErasureDecoder; @@ -25,6 +26,7 @@ import org.apache.hadoop.io.erasurecode.coder.RSErasureEncoder; /** * A Reed-Solomon erasure codec. */ [email protected] public class RSErasureCodec extends AbstractErasureCodec { public RSErasureCodec(ECSchema schema) { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/XORErasureCodec.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/XORErasureCodec.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/XORErasureCodec.java index e2dcfa7..9c38fc2 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/XORErasureCodec.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/codec/XORErasureCodec.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.codec; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECSchema; import org.apache.hadoop.io.erasurecode.coder.ErasureCoder; import org.apache.hadoop.io.erasurecode.coder.XORErasureDecoder; @@ -25,6 +26,7 @@ import org.apache.hadoop.io.erasurecode.coder.XORErasureEncoder; /** * A XOR erasure codec. */ [email protected] public class XORErasureCodec extends AbstractErasureCodec { public XORErasureCodec(ECSchema schema) { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureCoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureCoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureCoder.java index 5cd0ee8..1d1641f 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureCoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureCoder.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.coder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.conf.Configured; import org.apache.hadoop.io.erasurecode.ECSchema; @@ -25,6 +26,7 @@ import org.apache.hadoop.io.erasurecode.ECSchema; * * It implements the {@link ErasureCoder} interface. */ [email protected] public abstract class AbstractErasureCoder extends Configured implements ErasureCoder { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureCodingStep.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureCodingStep.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureCodingStep.java index c429d49..ccff92d 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureCodingStep.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureCodingStep.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.coder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECBlock; /** @@ -25,6 +26,7 @@ import org.apache.hadoop.io.erasurecode.ECBlock; * * It implements {@link ErasureEncodingStep}. */ [email protected] public abstract class AbstractErasureCodingStep implements ErasureCodingStep { private ECBlock[] inputBlocks; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureDecoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureDecoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureDecoder.java index 3ea9311..6fdae93 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureDecoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureDecoder.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.coder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECBlock; import org.apache.hadoop.io.erasurecode.ECBlockGroup; import org.apache.hadoop.io.erasurecode.ECSchema; @@ -26,6 +27,7 @@ import org.apache.hadoop.io.erasurecode.ECSchema; * * It implements the {@link ErasureCoder} interface. */ [email protected] public abstract class AbstractErasureDecoder extends AbstractErasureCoder { public AbstractErasureDecoder(int numDataUnits, int numParityUnits) { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureEncoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureEncoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureEncoder.java index 7c887e8..5ec6b4e 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureEncoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/AbstractErasureEncoder.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.coder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECBlock; import org.apache.hadoop.io.erasurecode.ECBlockGroup; import org.apache.hadoop.io.erasurecode.ECSchema; @@ -26,6 +27,7 @@ import org.apache.hadoop.io.erasurecode.ECSchema; * * It implements the {@link ErasureCoder} interface. */ [email protected] public abstract class AbstractErasureEncoder extends AbstractErasureCoder { public AbstractErasureEncoder(int numDataUnits, int numParityUnits) { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureCoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureCoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureCoder.java index f05ea41..49cc8dd 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureCoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureCoder.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.coder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.conf.Configurable; import org.apache.hadoop.io.erasurecode.ECBlockGroup; @@ -34,6 +35,7 @@ import org.apache.hadoop.io.erasurecode.ECBlockGroup; * of multiple coding steps. * */ [email protected] public interface ErasureCoder extends Configurable { /** http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureCodingStep.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureCodingStep.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureCodingStep.java index a3b177f..991eb56 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureCodingStep.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureCodingStep.java @@ -17,12 +17,14 @@ */ package org.apache.hadoop.io.erasurecode.coder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECBlock; import org.apache.hadoop.io.erasurecode.ECChunk; /** * Erasure coding step that's involved in encoding/decoding of a block group. */ [email protected] public interface ErasureCodingStep { /** http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureDecodingStep.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureDecodingStep.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureDecodingStep.java index 980c580..b319cfa 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureDecodingStep.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureDecodingStep.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.coder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECBlock; import org.apache.hadoop.io.erasurecode.ECChunk; import org.apache.hadoop.io.erasurecode.rawcoder.RawErasureDecoder; @@ -25,6 +26,7 @@ import org.apache.hadoop.io.erasurecode.rawcoder.RawErasureDecoder; * Erasure decoding step, a wrapper of all the necessary information to perform * a decoding step involved in the whole process of decoding a block group. */ [email protected] public class ErasureDecodingStep extends AbstractErasureCodingStep { private int[] erasedIndexes; private RawErasureDecoder rawDecoder; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureEncodingStep.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureEncodingStep.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureEncodingStep.java index bd7587f..311de21 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureEncodingStep.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/ErasureEncodingStep.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.coder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECBlock; import org.apache.hadoop.io.erasurecode.ECChunk; import org.apache.hadoop.io.erasurecode.rawcoder.RawErasureEncoder; @@ -25,6 +26,7 @@ import org.apache.hadoop.io.erasurecode.rawcoder.RawErasureEncoder; * Erasure encoding step, a wrapper of all the necessary information to perform * an encoding step involved in the whole process of encoding a block group. */ [email protected] public class ErasureEncodingStep extends AbstractErasureCodingStep { private RawErasureEncoder rawEncoder; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/RSErasureDecoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/RSErasureDecoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/RSErasureDecoder.java index f56674d..6728945 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/RSErasureDecoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/RSErasureDecoder.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.coder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.CodecUtil; import org.apache.hadoop.io.erasurecode.ECBlock; import org.apache.hadoop.io.erasurecode.ECBlockGroup; @@ -28,6 +29,7 @@ import org.apache.hadoop.io.erasurecode.rawcoder.RawErasureDecoder; * * It implements {@link ErasureCoder}. */ [email protected] public class RSErasureDecoder extends AbstractErasureDecoder { private RawErasureDecoder rsRawDecoder; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/RSErasureEncoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/RSErasureEncoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/RSErasureEncoder.java index 3ed3e20..7784573 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/RSErasureEncoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/RSErasureEncoder.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.coder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.CodecUtil; import org.apache.hadoop.io.erasurecode.ECBlock; import org.apache.hadoop.io.erasurecode.ECBlockGroup; @@ -28,6 +29,7 @@ import org.apache.hadoop.io.erasurecode.rawcoder.RawErasureEncoder; * * It implements {@link ErasureCoder}. */ [email protected] public class RSErasureEncoder extends AbstractErasureEncoder { private RawErasureEncoder rawEncoder; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/XORErasureDecoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/XORErasureDecoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/XORErasureDecoder.java index a847418..a61bafd 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/XORErasureDecoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/XORErasureDecoder.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.coder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.CodecUtil; import org.apache.hadoop.io.erasurecode.ECBlock; import org.apache.hadoop.io.erasurecode.ECBlockGroup; @@ -28,6 +29,7 @@ import org.apache.hadoop.io.erasurecode.rawcoder.RawErasureDecoder; * * It implements {@link ErasureCoder}. */ [email protected] public class XORErasureDecoder extends AbstractErasureDecoder { public XORErasureDecoder(int numDataUnits, int numParityUnits) { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/XORErasureEncoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/XORErasureEncoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/XORErasureEncoder.java index 5c4bcdd..3f22247 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/XORErasureEncoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/coder/XORErasureEncoder.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.coder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.CodecUtil; import org.apache.hadoop.io.erasurecode.ECBlock; import org.apache.hadoop.io.erasurecode.ECBlockGroup; @@ -28,6 +29,7 @@ import org.apache.hadoop.io.erasurecode.rawcoder.RawErasureEncoder; * * It implements {@link ErasureCoder}. */ [email protected] public class XORErasureEncoder extends AbstractErasureEncoder { public XORErasureEncoder(int numDataUnits, int numParityUnits) { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/grouper/BlockGrouper.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/grouper/BlockGrouper.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/grouper/BlockGrouper.java index bdc1624..3f1b0c2 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/grouper/BlockGrouper.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/grouper/BlockGrouper.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.grouper; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECBlock; import org.apache.hadoop.io.erasurecode.ECBlockGroup; import org.apache.hadoop.io.erasurecode.ECSchema; @@ -25,6 +26,7 @@ import org.apache.hadoop.io.erasurecode.ECSchema; * As part of a codec, to handle how to form a block group for encoding * and provide instructions on how to recover erased blocks from a block group */ [email protected] public class BlockGrouper { private ECSchema schema; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureCoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureCoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureCoder.java index 4b7461e..0ace085 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureCoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureCoder.java @@ -18,16 +18,17 @@ package org.apache.hadoop.io.erasurecode.rawcoder; import org.apache.hadoop.HadoopIllegalArgumentException; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.conf.Configured; import java.nio.ByteBuffer; -import java.util.Arrays; /** * A common class of basic facilities to be shared by encoder and decoder * * It implements the {@link RawErasureCoder} interface. */ [email protected] public abstract class AbstractRawErasureCoder extends Configured implements RawErasureCoder { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureDecoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureDecoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureDecoder.java index 931cda1..a99730d 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureDecoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureDecoder.java @@ -18,6 +18,7 @@ package org.apache.hadoop.io.erasurecode.rawcoder; import org.apache.hadoop.HadoopIllegalArgumentException; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECChunk; import java.nio.ByteBuffer; @@ -28,6 +29,7 @@ import java.util.Arrays; * * It implements the {@link RawErasureDecoder} interface. */ [email protected] public abstract class AbstractRawErasureDecoder extends AbstractRawErasureCoder implements RawErasureDecoder { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureEncoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureEncoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureEncoder.java index a0b3cfe..99c754e 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureEncoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/AbstractRawErasureEncoder.java @@ -18,6 +18,7 @@ package org.apache.hadoop.io.erasurecode.rawcoder; import org.apache.hadoop.HadoopIllegalArgumentException; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECChunk; import java.nio.ByteBuffer; @@ -27,6 +28,7 @@ import java.nio.ByteBuffer; * * It implements the {@link RawErasureEncoder} interface. */ [email protected] public abstract class AbstractRawErasureEncoder extends AbstractRawErasureCoder implements RawErasureEncoder { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawDecoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawDecoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawDecoder.java index 57e6957..69ce3e8 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawDecoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawDecoder.java @@ -18,6 +18,7 @@ package org.apache.hadoop.io.erasurecode.rawcoder; import org.apache.hadoop.HadoopIllegalArgumentException; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.rawcoder.util.RSUtil; import java.nio.ByteBuffer; @@ -31,6 +32,7 @@ import java.nio.ByteBuffer; * unnecessarily due to the underlying implementation limit in GF. This will be * addressed in HADOOP-11871. */ [email protected] public class RSRawDecoder extends AbstractRawErasureDecoder { // To describe and calculate the needed Vandermonde matrix private int[] errSignature; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawEncoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawEncoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawEncoder.java index efeee90..813a312 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawEncoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawEncoder.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.rawcoder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.rawcoder.util.RSUtil; import java.nio.ByteBuffer; @@ -26,6 +27,7 @@ import java.nio.ByteBuffer; * isn't available in some environment. Please always use native implementations * when possible. */ [email protected] public class RSRawEncoder extends AbstractRawErasureEncoder { private int[] generatingPolynomial; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawErasureCoderFactory.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawErasureCoderFactory.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawErasureCoderFactory.java index 5db49e3..b034cbf 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawErasureCoderFactory.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawErasureCoderFactory.java @@ -17,9 +17,12 @@ */ package org.apache.hadoop.io.erasurecode.rawcoder; +import org.apache.hadoop.classification.InterfaceAudience; + /** * A raw coder factory for raw Reed-Solomon coder in Java. */ [email protected] public class RSRawErasureCoderFactory implements RawErasureCoderFactory { @Override http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureCoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureCoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureCoder.java index 0ddb460..082c9c3 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureCoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureCoder.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.rawcoder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.conf.Configurable; /** @@ -33,6 +34,7 @@ import org.apache.hadoop.conf.Configurable; * low level constructs, since it only takes care of the math calculation with * a group of byte buffers. */ [email protected] public interface RawErasureCoder extends Configurable { /** http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureCoderFactory.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureCoderFactory.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureCoderFactory.java index 280daf3..8a12106 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureCoderFactory.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureCoderFactory.java @@ -17,11 +17,14 @@ */ package org.apache.hadoop.io.erasurecode.rawcoder; +import org.apache.hadoop.classification.InterfaceAudience; + /** * Raw erasure coder factory that can be used to create raw encoder and decoder. * It helps in configuration since only one factory class is needed to be * configured. */ [email protected] public interface RawErasureCoderFactory { /** http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureDecoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureDecoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureDecoder.java index e2d01d9..fa747d8 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureDecoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureDecoder.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.rawcoder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECChunk; import java.nio.ByteBuffer; @@ -28,6 +29,7 @@ import java.nio.ByteBuffer; * * It extends the {@link RawErasureCoder} interface. */ [email protected] public interface RawErasureDecoder extends RawErasureCoder { /** http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureEncoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureEncoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureEncoder.java index 7571f09..d451eb9 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureEncoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RawErasureEncoder.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.io.erasurecode.rawcoder; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECChunk; import java.nio.ByteBuffer; @@ -28,6 +29,7 @@ import java.nio.ByteBuffer; * * It extends the {@link RawErasureCoder} interface. */ [email protected] public interface RawErasureEncoder extends RawErasureCoder { /** http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawDecoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawDecoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawDecoder.java index e20e543..f11dd9f 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawDecoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawDecoder.java @@ -19,6 +19,8 @@ package org.apache.hadoop.io.erasurecode.rawcoder; import java.nio.ByteBuffer; +import org.apache.hadoop.classification.InterfaceAudience; + /** * A raw decoder in XOR code scheme in pure Java, adapted from HDFS-RAID. * @@ -26,6 +28,7 @@ import java.nio.ByteBuffer; * used in advanced codes, like HitchHiker and LRC, though itself is rarely * deployed independently. */ [email protected] public class XORRawDecoder extends AbstractRawErasureDecoder { public XORRawDecoder(int numDataUnits, int numParityUnits) { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawEncoder.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawEncoder.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawEncoder.java index f4d242e..bc1ae90 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawEncoder.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawEncoder.java @@ -19,6 +19,8 @@ package org.apache.hadoop.io.erasurecode.rawcoder; import java.nio.ByteBuffer; +import org.apache.hadoop.classification.InterfaceAudience; + /** * A raw encoder in XOR code scheme in pure Java, adapted from HDFS-RAID. * @@ -26,6 +28,7 @@ import java.nio.ByteBuffer; * used in advanced codes, like HitchHiker and LRC, though itself is rarely * deployed independently. */ [email protected] public class XORRawEncoder extends AbstractRawErasureEncoder { public XORRawEncoder(int numDataUnits, int numParityUnits) { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawErasureCoderFactory.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawErasureCoderFactory.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawErasureCoderFactory.java index de20c95..3123690 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawErasureCoderFactory.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/XORRawErasureCoderFactory.java @@ -17,9 +17,12 @@ */ package org.apache.hadoop.io.erasurecode.rawcoder; +import org.apache.hadoop.classification.InterfaceAudience; + /** * A raw coder factory for raw XOR coder. */ [email protected] public class XORRawErasureCoderFactory implements RawErasureCoderFactory { @Override http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/DumpUtil.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/DumpUtil.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/DumpUtil.java index c8f133f..785539c 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/DumpUtil.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/DumpUtil.java @@ -17,12 +17,14 @@ */ package org.apache.hadoop.io.erasurecode.rawcoder.util; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.io.erasurecode.ECChunk; /** * A dump utility class for debugging data erasure coding/decoding issues. Don't * suggest they are used in runtime production codes. */ [email protected] public final class DumpUtil { private static final String HEX_CHARS_STR = "0123456789ABCDEF"; private static final char[] HEX_CHARS = HEX_CHARS_STR.toCharArray(); http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/GaloisField.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/GaloisField.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/GaloisField.java index 03683b0..fdb47be 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/GaloisField.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/GaloisField.java @@ -21,10 +21,13 @@ import java.nio.ByteBuffer; import java.util.HashMap; import java.util.Map; +import org.apache.hadoop.classification.InterfaceAudience; + /** * Implementation of Galois field arithmetic with 2^p elements. The input must * be unsigned integers. It's ported from HDFS-RAID, slightly adapted. */ [email protected] public class GaloisField { // Field size 256 is good for byte based system http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/RSUtil.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/RSUtil.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/RSUtil.java index 8badf02..d6a10a4 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/RSUtil.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/util/RSUtil.java @@ -17,9 +17,12 @@ */ package org.apache.hadoop.io.erasurecode.rawcoder.util; +import org.apache.hadoop.classification.InterfaceAudience; + /** * Some utilities for Reed-Solomon coding. */ [email protected] public class RSUtil { // We always use the byte system (with symbol size 8, field size 256, http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java index 8265090..5dadd82 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hdfs; import com.google.common.base.Preconditions; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.fs.ChecksumException; import org.apache.hadoop.fs.ReadOption; import org.apache.hadoop.hdfs.protocol.DatanodeInfo; @@ -61,6 +62,7 @@ import java.util.concurrent.Future; /** * DFSStripedInputStream reads from striped block groups */ [email protected] public class DFSStripedInputStream extends DFSInputStream { private static class ReaderRetryPolicy { http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/StripedDataStreamer.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/StripedDataStreamer.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/StripedDataStreamer.java index f74edc8..ebd04d6 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/StripedDataStreamer.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/StripedDataStreamer.java @@ -21,6 +21,7 @@ package org.apache.hadoop.hdfs; import java.io.IOException; import java.util.concurrent.atomic.AtomicReference; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.fs.StorageType; import org.apache.hadoop.hdfs.DFSStripedOutputStream.Coordinator; import org.apache.hadoop.hdfs.protocol.DatanodeInfo; @@ -41,6 +42,7 @@ import com.google.common.annotations.VisibleForTesting; * sends an rpc call to the namenode and then populates the result for the * other streamers. */ [email protected] public class StripedDataStreamer extends DataStreamer { private final Coordinator coordinator; private final int index; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ErasureCodingPolicy.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ErasureCodingPolicy.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ErasureCodingPolicy.java index c976538..068156d 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ErasureCodingPolicy.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ErasureCodingPolicy.java @@ -17,11 +17,15 @@ */ package org.apache.hadoop.hdfs.protocol; +import org.apache.hadoop.classification.InterfaceAudience; +import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.io.erasurecode.ECSchema; /** * A policy about how to write/read/code an erasure coding file. */ [email protected] [email protected] public final class ErasureCodingPolicy { private final String name; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index bd539ab..ee6d19d 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -173,6 +173,9 @@ Trunk (Unreleased) HDFS-9182. Cleanup the findbugs and other issues after HDFS EC merged to trunk. (umamahesh) + HDFS-8632. Add InterfaceAudience annotation to the erasure coding classes. + (Rakesh R via wang) + OPTIMIZATIONS BUG FIXES http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoStriped.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoStriped.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoStriped.java index d1067b3..d65329e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoStriped.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoStriped.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.hdfs.server.blockmanagement; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.hdfs.protocol.Block; import org.apache.hadoop.hdfs.server.common.HdfsServerConstants.BlockUCState; import org.apache.hadoop.hdfs.util.StripedBlockUtil; @@ -35,6 +36,7 @@ import org.apache.hadoop.hdfs.protocol.ErasureCodingPolicy; * array's size can be larger than (m+k). Thus currently we use an extra byte * array to record the block index for each triplet. */ [email protected] public class BlockInfoStriped extends BlockInfo { private final ErasureCodingPolicy ecPolicy; /** http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockPlacementPolicies.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockPlacementPolicies.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockPlacementPolicies.java index 622b258..6687e07 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockPlacementPolicies.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockPlacementPolicies.java @@ -17,11 +17,13 @@ */ package org.apache.hadoop.hdfs.server.blockmanagement; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hdfs.DFSConfigKeys; import org.apache.hadoop.net.NetworkTopology; import org.apache.hadoop.util.ReflectionUtils; [email protected] public class BlockPlacementPolicies{ private final BlockPlacementPolicy replicationPolicy; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/ErasureCodingWorker.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/ErasureCodingWorker.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/ErasureCodingWorker.java index 0637c18..d7140d8 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/ErasureCodingWorker.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/ErasureCodingWorker.java @@ -45,6 +45,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import org.apache.commons.logging.Log; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.StorageType; import org.apache.hadoop.hdfs.BlockReader; @@ -86,6 +87,7 @@ import static org.apache.hadoop.hdfs.util.StripedBlockUtil.convertIndex4Decode; * response. BPOfferService delegates the work to this class for handling EC * commands. */ [email protected] public final class ErasureCodingWorker { private static final Log LOG = DataNode.LOG; http://git-wip-us.apache.org/repos/asf/hadoop/blob/66e2cfa1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/erasurecode/ECCli.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/erasurecode/ECCli.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/erasurecode/ECCli.java index 4ed9d0a..c7ce714 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/erasurecode/ECCli.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/erasurecode/ECCli.java @@ -16,6 +16,7 @@ */ package org.apache.hadoop.hdfs.tools.erasurecode; +import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FsShell; import org.apache.hadoop.fs.shell.CommandFactory; @@ -25,6 +26,7 @@ import org.apache.hadoop.util.ToolRunner; /** * CLI for the erasure code encoding operations. */ [email protected] public class ECCli extends FsShell { private final static String usagePrefix =
