Skip to content

Commit

Permalink
HDFS-8129. Erasure Coding: Maintain consistent naming for Erasure Cod…
Browse files Browse the repository at this point in the history
…ing related classes - EC/ErasureCoding. Contributed by Uma Maheswara Rao G
  • Loading branch information
umamaheswararao authored and Zhe Zhang committed May 26, 2015
1 parent cea46f7 commit ac97edd
Show file tree
Hide file tree
Showing 23 changed files with 110 additions and 107 deletions.
3 changes: 3 additions & 0 deletions hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -183,3 +183,6 @@


HDFS-8334. Erasure coding: rename DFSStripedInputStream related test HDFS-8334. Erasure coding: rename DFSStripedInputStream related test
classes. (Zhe Zhang) classes. (Zhe Zhang)

HDFS-8129. Erasure Coding: Maintain consistent naming for Erasure Coding related classes - EC/ErasureCoding
(umamahesh)
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -119,8 +119,8 @@
import org.apache.hadoop.hdfs.protocol.DatanodeID; import org.apache.hadoop.hdfs.protocol.DatanodeID;
import org.apache.hadoop.hdfs.protocol.DatanodeInfo; import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
import org.apache.hadoop.hdfs.protocol.DirectoryListing; import org.apache.hadoop.hdfs.protocol.DirectoryListing;
import org.apache.hadoop.hdfs.protocol.ECInfo; import org.apache.hadoop.hdfs.protocol.ErasureCodingInfo;
import org.apache.hadoop.hdfs.protocol.ECZoneInfo; import org.apache.hadoop.hdfs.protocol.ErasureCodingZoneInfo;
import org.apache.hadoop.hdfs.protocol.EncryptionZone; import org.apache.hadoop.hdfs.protocol.EncryptionZone;
import org.apache.hadoop.hdfs.protocol.EncryptionZoneIterator; import org.apache.hadoop.hdfs.protocol.EncryptionZoneIterator;
import org.apache.hadoop.hdfs.protocol.ExtendedBlock; import org.apache.hadoop.hdfs.protocol.ExtendedBlock;
Expand Down Expand Up @@ -1193,7 +1193,7 @@ public DFSInputStream open(String src, int buffersize, boolean verifyChecksum)
// Get block info from namenode // Get block info from namenode
TraceScope scope = getPathTraceScope("newDFSInputStream", src); TraceScope scope = getPathTraceScope("newDFSInputStream", src);
try { try {
ECInfo info = getErasureCodingInfo(src); ErasureCodingInfo info = getErasureCodingInfo(src);
if (info != null) { if (info != null) {
return new DFSStripedInputStream(this, src, verifyChecksum, info); return new DFSStripedInputStream(this, src, verifyChecksum, info);
} else { } else {
Expand Down Expand Up @@ -3134,7 +3134,7 @@ public void checkAccess(String src, FsAction mode) throws IOException {
} }
} }


public ECInfo getErasureCodingInfo(String src) throws IOException { public ErasureCodingInfo getErasureCodingInfo(String src) throws IOException {
checkOpen(); checkOpen();
TraceScope scope = getPathTraceScope("getErasureCodingInfo", src); TraceScope scope = getPathTraceScope("getErasureCodingInfo", src);
try { try {
Expand Down Expand Up @@ -3356,7 +3356,7 @@ TraceScope getSrcDstTraceScope(String description, String src, String dst) {
* @return Returns the zone information if path is in EC Zone, null otherwise * @return Returns the zone information if path is in EC Zone, null otherwise
* @throws IOException * @throws IOException
*/ */
public ECZoneInfo getErasureCodingZoneInfo(String src) throws IOException { public ErasureCodingZoneInfo getErasureCodingZoneInfo(String src) throws IOException {
checkOpen(); checkOpen();
TraceScope scope = getPathTraceScope("getErasureCodingZoneInfo", src); TraceScope scope = getPathTraceScope("getErasureCodingZoneInfo", src);
try { try {
Expand Down
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ boolean include(long pos) {
private final CompletionService<Integer> readingService; private final CompletionService<Integer> readingService;


DFSStripedInputStream(DFSClient dfsClient, String src, boolean verifyChecksum, DFSStripedInputStream(DFSClient dfsClient, String src, boolean verifyChecksum,
ECInfo ecInfo) throws IOException { ErasureCodingInfo ecInfo) throws IOException {
super(dfsClient, src, verifyChecksum); super(dfsClient, src, verifyChecksum);
// ECInfo is restored from NN just before reading striped file. // ECInfo is restored from NN just before reading striped file.
assert ecInfo != null; assert ecInfo != null;
Expand Down
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
import org.apache.hadoop.hdfs.protocol.ClientProtocol; import org.apache.hadoop.hdfs.protocol.ClientProtocol;
import org.apache.hadoop.hdfs.protocol.DatanodeInfo; import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
import org.apache.hadoop.hdfs.protocol.DirectoryListing; import org.apache.hadoop.hdfs.protocol.DirectoryListing;
import org.apache.hadoop.hdfs.protocol.ECZoneInfo; import org.apache.hadoop.hdfs.protocol.ErasureCodingZoneInfo;
import org.apache.hadoop.hdfs.protocol.EncryptionZone; import org.apache.hadoop.hdfs.protocol.EncryptionZone;
import org.apache.hadoop.hdfs.protocol.HdfsConstants; import org.apache.hadoop.hdfs.protocol.HdfsConstants;
import org.apache.hadoop.hdfs.protocol.HdfsConstants.DatanodeReportType; import org.apache.hadoop.hdfs.protocol.HdfsConstants.DatanodeReportType;
Expand Down Expand Up @@ -2315,18 +2315,18 @@ public Void next(final FileSystem fs, final Path p) throws IOException {
* @return Returns the zone information if path is in EC zone, null otherwise * @return Returns the zone information if path is in EC zone, null otherwise
* @throws IOException * @throws IOException
*/ */
public ECZoneInfo getErasureCodingZoneInfo(final Path path) public ErasureCodingZoneInfo getErasureCodingZoneInfo(final Path path)
throws IOException { throws IOException {
Path absF = fixRelativePart(path); Path absF = fixRelativePart(path);
return new FileSystemLinkResolver<ECZoneInfo>() { return new FileSystemLinkResolver<ErasureCodingZoneInfo>() {
@Override @Override
public ECZoneInfo doCall(final Path p) throws IOException, public ErasureCodingZoneInfo doCall(final Path p) throws IOException,
UnresolvedLinkException { UnresolvedLinkException {
return dfs.getErasureCodingZoneInfo(getPathName(p)); return dfs.getErasureCodingZoneInfo(getPathName(p));
} }


@Override @Override
public ECZoneInfo next(final FileSystem fs, final Path p) public ErasureCodingZoneInfo next(final FileSystem fs, final Path p)
throws IOException { throws IOException {
if (fs instanceof DistributedFileSystem) { if (fs instanceof DistributedFileSystem) {
DistributedFileSystem myDfs = (DistributedFileSystem) fs; DistributedFileSystem myDfs = (DistributedFileSystem) fs;
Expand Down
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -1474,7 +1474,7 @@ public void createErasureCodingZone(String src, ECSchema schema)
* @throws IOException * @throws IOException
*/ */
@Idempotent @Idempotent
public ECInfo getErasureCodingInfo(String src) throws IOException; public ErasureCodingInfo getErasureCodingInfo(String src) throws IOException;


/** /**
* Gets list of ECSchemas loaded in Namenode * Gets list of ECSchemas loaded in Namenode
Expand All @@ -1492,5 +1492,5 @@ public void createErasureCodingZone(String src, ECSchema schema)
* @throws IOException * @throws IOException
*/ */
@Idempotent @Idempotent
public ECZoneInfo getErasureCodingZoneInfo(String src) throws IOException; public ErasureCodingZoneInfo getErasureCodingZoneInfo(String src) throws IOException;
} }
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@
/** /**
* Class to provide information, such as ECSchema, for a file/block. * Class to provide information, such as ECSchema, for a file/block.
*/ */
public class ECInfo { public class ErasureCodingInfo {
private final String src; private final String src;
private final ECSchema schema; private final ECSchema schema;


public ECInfo(String src, ECSchema schema) { public ErasureCodingInfo(String src, ECSchema schema) {
this.src = src; this.src = src;
this.schema = schema; this.schema = schema;
} }
Expand Down
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@
/** /**
* Information about the EC Zone at the specified path. * Information about the EC Zone at the specified path.
*/ */
public class ECZoneInfo { public class ErasureCodingZoneInfo {


private String dir; private String dir;
private ECSchema schema; private ECSchema schema;


public ECZoneInfo(String dir, ECSchema schema) { public ErasureCodingZoneInfo(String dir, ECSchema schema) {
this.dir = dir; this.dir = dir;
this.schema = schema; this.schema = schema;
} }
Expand Down
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@
import org.apache.hadoop.hdfs.protocol.ClientProtocol; import org.apache.hadoop.hdfs.protocol.ClientProtocol;
import org.apache.hadoop.hdfs.protocol.CorruptFileBlocks; import org.apache.hadoop.hdfs.protocol.CorruptFileBlocks;
import org.apache.hadoop.hdfs.protocol.DirectoryListing; import org.apache.hadoop.hdfs.protocol.DirectoryListing;
import org.apache.hadoop.hdfs.protocol.ECInfo; import org.apache.hadoop.hdfs.protocol.ErasureCodingInfo;
import org.apache.hadoop.hdfs.protocol.ECZoneInfo; import org.apache.hadoop.hdfs.protocol.ErasureCodingZoneInfo;
import org.apache.hadoop.hdfs.protocol.EncryptionZone; import org.apache.hadoop.hdfs.protocol.EncryptionZone;
import org.apache.hadoop.hdfs.protocol.HdfsConstants; import org.apache.hadoop.hdfs.protocol.HdfsConstants;
import org.apache.hadoop.hdfs.protocol.HdfsFileStatus; import org.apache.hadoop.hdfs.protocol.HdfsFileStatus;
Expand Down Expand Up @@ -202,8 +202,8 @@
import org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos.ListEncryptionZonesRequestProto; import org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos.ListEncryptionZonesRequestProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetECSchemasRequestProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetECSchemasRequestProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetECSchemasResponseProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetECSchemasResponseProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetECZoneInfoRequestProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetErasureCodingZoneInfoRequestProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetECZoneInfoResponseProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetErasureCodingZoneInfoResponseProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetErasureCodingInfoRequestProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetErasureCodingInfoRequestProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetErasureCodingInfoResponseProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetErasureCodingInfoResponseProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.CreateErasureCodingZoneRequestProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.CreateErasureCodingZoneRequestProto;
Expand Down Expand Up @@ -1527,7 +1527,7 @@ public GetEditsFromTxidResponseProto getEditsFromTxid(RpcController controller,
public GetErasureCodingInfoResponseProto getErasureCodingInfo(RpcController controller, public GetErasureCodingInfoResponseProto getErasureCodingInfo(RpcController controller,
GetErasureCodingInfoRequestProto request) throws ServiceException { GetErasureCodingInfoRequestProto request) throws ServiceException {
try { try {
ECInfo ecInfo = server.getErasureCodingInfo(request.getSrc()); ErasureCodingInfo ecInfo = server.getErasureCodingInfo(request.getSrc());
GetErasureCodingInfoResponseProto.Builder resBuilder = GetErasureCodingInfoResponseProto GetErasureCodingInfoResponseProto.Builder resBuilder = GetErasureCodingInfoResponseProto
.newBuilder(); .newBuilder();
if (ecInfo != null) { if (ecInfo != null) {
Expand Down Expand Up @@ -1556,11 +1556,11 @@ public GetECSchemasResponseProto getECSchemas(RpcController controller,
} }


@Override @Override
public GetECZoneInfoResponseProto getErasureCodingZoneInfo(RpcController controller, public GetErasureCodingZoneInfoResponseProto getErasureCodingZoneInfo(RpcController controller,
GetECZoneInfoRequestProto request) throws ServiceException { GetErasureCodingZoneInfoRequestProto request) throws ServiceException {
try { try {
ECZoneInfo ecZoneInfo = server.getErasureCodingZoneInfo(request.getSrc()); ErasureCodingZoneInfo ecZoneInfo = server.getErasureCodingZoneInfo(request.getSrc());
GetECZoneInfoResponseProto.Builder builder = GetECZoneInfoResponseProto.newBuilder(); GetErasureCodingZoneInfoResponseProto.Builder builder = GetErasureCodingZoneInfoResponseProto.newBuilder();
if (ecZoneInfo != null) { if (ecZoneInfo != null) {
builder.setECZoneInfo(PBHelper.convertECZoneInfo(ecZoneInfo)); builder.setECZoneInfo(PBHelper.convertECZoneInfo(ecZoneInfo));
} }
Expand Down
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@
import org.apache.hadoop.hdfs.protocol.DatanodeID; import org.apache.hadoop.hdfs.protocol.DatanodeID;
import org.apache.hadoop.hdfs.protocol.DatanodeInfo; import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
import org.apache.hadoop.hdfs.protocol.DirectoryListing; import org.apache.hadoop.hdfs.protocol.DirectoryListing;
import org.apache.hadoop.hdfs.protocol.ECInfo; import org.apache.hadoop.hdfs.protocol.ErasureCodingInfo;
import org.apache.hadoop.hdfs.protocol.ECZoneInfo; import org.apache.hadoop.hdfs.protocol.ErasureCodingZoneInfo;
import org.apache.hadoop.hdfs.protocol.EncryptionZone; import org.apache.hadoop.hdfs.protocol.EncryptionZone;
import org.apache.hadoop.hdfs.protocol.ExtendedBlock; import org.apache.hadoop.hdfs.protocol.ExtendedBlock;
import org.apache.hadoop.hdfs.protocol.HdfsConstants.DatanodeReportType; import org.apache.hadoop.hdfs.protocol.HdfsConstants.DatanodeReportType;
Expand Down Expand Up @@ -168,8 +168,8 @@
import org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos.ListEncryptionZonesRequestProto; import org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos.ListEncryptionZonesRequestProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetECSchemasRequestProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetECSchemasRequestProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetECSchemasResponseProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetECSchemasResponseProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetECZoneInfoRequestProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetErasureCodingZoneInfoRequestProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetECZoneInfoResponseProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetErasureCodingZoneInfoResponseProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetErasureCodingInfoRequestProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetErasureCodingInfoRequestProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetErasureCodingInfoResponseProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.GetErasureCodingInfoResponseProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.CreateErasureCodingZoneRequestProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.CreateErasureCodingZoneRequestProto;
Expand Down Expand Up @@ -1550,7 +1550,7 @@ public EventBatchList getEditsFromTxid(long txid) throws IOException {
} }


@Override @Override
public ECInfo getErasureCodingInfo(String src) throws IOException { public ErasureCodingInfo getErasureCodingInfo(String src) throws IOException {
GetErasureCodingInfoRequestProto req = GetErasureCodingInfoRequestProto.newBuilder() GetErasureCodingInfoRequestProto req = GetErasureCodingInfoRequestProto.newBuilder()
.setSrc(src).build(); .setSrc(src).build();
try { try {
Expand Down Expand Up @@ -1581,11 +1581,11 @@ public ECSchema[] getECSchemas() throws IOException {
} }


@Override @Override
public ECZoneInfo getErasureCodingZoneInfo(String src) throws IOException { public ErasureCodingZoneInfo getErasureCodingZoneInfo(String src) throws IOException {
GetECZoneInfoRequestProto req = GetECZoneInfoRequestProto.newBuilder() GetErasureCodingZoneInfoRequestProto req = GetErasureCodingZoneInfoRequestProto.newBuilder()
.setSrc(src).build(); .setSrc(src).build();
try { try {
GetECZoneInfoResponseProto response = rpcProxy.getErasureCodingZoneInfo( GetErasureCodingZoneInfoResponseProto response = rpcProxy.getErasureCodingZoneInfo(
null, req); null, req);
if (response.hasECZoneInfo()) { if (response.hasECZoneInfo()) {
return PBHelper.convertECZoneInfo(response.getECZoneInfo()); return PBHelper.convertECZoneInfo(response.getECZoneInfo());
Expand Down
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -77,13 +77,13 @@
import org.apache.hadoop.hdfs.protocol.EncryptionZone; import org.apache.hadoop.hdfs.protocol.EncryptionZone;
import org.apache.hadoop.hdfs.protocol.ExtendedBlock; import org.apache.hadoop.hdfs.protocol.ExtendedBlock;
import org.apache.hadoop.fs.FileEncryptionInfo; import org.apache.hadoop.fs.FileEncryptionInfo;
import org.apache.hadoop.hdfs.protocol.ECZoneInfo; import org.apache.hadoop.hdfs.protocol.ErasureCodingZoneInfo;
import org.apache.hadoop.hdfs.protocol.FsPermissionExtension; import org.apache.hadoop.hdfs.protocol.FsPermissionExtension;
import org.apache.hadoop.hdfs.protocol.HdfsConstants; import org.apache.hadoop.hdfs.protocol.HdfsConstants;
import org.apache.hadoop.hdfs.protocol.HdfsConstants.DatanodeReportType; import org.apache.hadoop.hdfs.protocol.HdfsConstants.DatanodeReportType;
import org.apache.hadoop.hdfs.protocol.HdfsConstants.RollingUpgradeAction; import org.apache.hadoop.hdfs.protocol.HdfsConstants.RollingUpgradeAction;
import org.apache.hadoop.hdfs.protocol.HdfsConstants.SafeModeAction; import org.apache.hadoop.hdfs.protocol.HdfsConstants.SafeModeAction;
import org.apache.hadoop.hdfs.protocol.ECInfo; import org.apache.hadoop.hdfs.protocol.ErasureCodingInfo;
import org.apache.hadoop.hdfs.protocol.HdfsFileStatus; import org.apache.hadoop.hdfs.protocol.HdfsFileStatus;
import org.apache.hadoop.hdfs.protocol.HdfsLocatedFileStatus; import org.apache.hadoop.hdfs.protocol.HdfsLocatedFileStatus;
import org.apache.hadoop.hdfs.protocol.LocatedBlock; import org.apache.hadoop.hdfs.protocol.LocatedBlock;
Expand Down Expand Up @@ -135,10 +135,10 @@
import org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos.VolumeFailureSummaryProto; import org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos.VolumeFailureSummaryProto;
import org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos.BlockReportContextProto; import org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos.BlockReportContextProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.BlockECRecoveryInfoProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.BlockECRecoveryInfoProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.ECInfoProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.ErasureCodingInfoProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.ECSchemaOptionEntryProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.ECSchemaOptionEntryProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.ECSchemaProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.ECSchemaProto;
import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.ECZoneInfoProto; import org.apache.hadoop.hdfs.protocol.proto.ErasureCodingProtos.ErasureCodingZoneInfoProto;
import org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.BlockKeyProto; import org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.BlockKeyProto;
import org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.BlockProto; import org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.BlockProto;
import org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.BlockStoragePolicyProto; import org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.BlockStoragePolicyProto;
Expand Down Expand Up @@ -3117,13 +3117,13 @@ public static BlockReportContextProto convert(BlockReportContext context) {
build(); build();
} }


public static ECInfo convertECInfo(ECInfoProto ecInfoProto) { public static ErasureCodingInfo convertECInfo(ErasureCodingInfoProto ecInfoProto) {
return new ECInfo(ecInfoProto.getSrc(), return new ErasureCodingInfo(ecInfoProto.getSrc(),
convertECSchema(ecInfoProto.getSchema())); convertECSchema(ecInfoProto.getSchema()));
} }


public static ECInfoProto convertECInfo(ECInfo ecInfo) { public static ErasureCodingInfoProto convertECInfo(ErasureCodingInfo ecInfo) {
return ECInfoProto.newBuilder().setSrc(ecInfo.getSrc()) return ErasureCodingInfoProto.newBuilder().setSrc(ecInfo.getSrc())
.setSchema(convertECSchema(ecInfo.getSchema())).build(); .setSchema(convertECSchema(ecInfo.getSchema())).build();
} }


Expand Down Expand Up @@ -3151,13 +3151,13 @@ public static ECSchemaProto convertECSchema(ECSchema schema) {
return builder.build(); return builder.build();
} }


public static ECZoneInfoProto convertECZoneInfo(ECZoneInfo ecZoneInfo) { public static ErasureCodingZoneInfoProto convertECZoneInfo(ErasureCodingZoneInfo ecZoneInfo) {
return ECZoneInfoProto.newBuilder().setDir(ecZoneInfo.getDir()) return ErasureCodingZoneInfoProto.newBuilder().setDir(ecZoneInfo.getDir())
.setSchema(convertECSchema(ecZoneInfo.getSchema())).build(); .setSchema(convertECSchema(ecZoneInfo.getSchema())).build();
} }


public static ECZoneInfo convertECZoneInfo(ECZoneInfoProto ecZoneInfoProto) { public static ErasureCodingZoneInfo convertECZoneInfo(ErasureCodingZoneInfoProto ecZoneInfoProto) {
return new ECZoneInfo(ecZoneInfoProto.getDir(), return new ErasureCodingZoneInfo(ecZoneInfoProto.getDir(),
convertECSchema(ecZoneInfoProto.getSchema())); convertECSchema(ecZoneInfoProto.getSchema()));
} }


Expand Down
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
* This class is instantiated by the FSNamesystem. * This class is instantiated by the FSNamesystem.
*/ */
@InterfaceAudience.LimitedPrivate({"HDFS"}) @InterfaceAudience.LimitedPrivate({"HDFS"})
public final class ECSchemaManager { public final class ErasureCodingSchemaManager {


/** /**
* TODO: HDFS-8095 * TODO: HDFS-8095
Expand All @@ -55,7 +55,7 @@ public final class ECSchemaManager {
*/ */
private final Map<String, ECSchema> activeSchemas; private final Map<String, ECSchema> activeSchemas;


ECSchemaManager() { ErasureCodingSchemaManager() {


this.activeSchemas = new TreeMap<String, ECSchema>(); this.activeSchemas = new TreeMap<String, ECSchema>();
for (ECSchema schema : SYS_SCHEMAS) { for (ECSchema schema : SYS_SCHEMAS) {
Expand Down
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import org.apache.hadoop.fs.XAttr; import org.apache.hadoop.fs.XAttr;
import org.apache.hadoop.fs.XAttrSetFlag; import org.apache.hadoop.fs.XAttrSetFlag;
import org.apache.hadoop.hdfs.XAttrHelper; import org.apache.hadoop.hdfs.XAttrHelper;
import org.apache.hadoop.hdfs.protocol.ECZoneInfo; import org.apache.hadoop.hdfs.protocol.ErasureCodingZoneInfo;
import org.apache.hadoop.io.erasurecode.ECSchema; import org.apache.hadoop.io.erasurecode.ECSchema;


import java.io.IOException; import java.io.IOException;
Expand Down Expand Up @@ -53,11 +53,11 @@ public ErasureCodingZoneManager(FSDirectory dir) {
} }


ECSchema getECSchema(INodesInPath iip) throws IOException { ECSchema getECSchema(INodesInPath iip) throws IOException {
ECZoneInfo ecZoneInfo = getECZoneInfo(iip); ErasureCodingZoneInfo ecZoneInfo = getECZoneInfo(iip);
return ecZoneInfo == null ? null : ecZoneInfo.getSchema(); return ecZoneInfo == null ? null : ecZoneInfo.getSchema();
} }


ECZoneInfo getECZoneInfo(INodesInPath iip) throws IOException { ErasureCodingZoneInfo getECZoneInfo(INodesInPath iip) throws IOException {
assert dir.hasReadLock(); assert dir.hasReadLock();
Preconditions.checkNotNull(iip); Preconditions.checkNotNull(iip);
List<INode> inodes = iip.getReadOnlyINodes(); List<INode> inodes = iip.getReadOnlyINodes();
Expand All @@ -79,9 +79,9 @@ ECZoneInfo getECZoneInfo(INodesInPath iip) throws IOException {
for (XAttr xAttr : xAttrs) { for (XAttr xAttr : xAttrs) {
if (XATTR_ERASURECODING_ZONE.equals(XAttrHelper.getPrefixName(xAttr))) { if (XATTR_ERASURECODING_ZONE.equals(XAttrHelper.getPrefixName(xAttr))) {
String schemaName = new String(xAttr.getValue()); String schemaName = new String(xAttr.getValue());
ECSchema schema = dir.getFSNamesystem().getSchemaManager() ECSchema schema = dir.getFSNamesystem().getECSchemaManager()
.getSchema(schemaName); .getSchema(schemaName);
return new ECZoneInfo(inode.getFullPathName(), schema); return new ErasureCodingZoneInfo(inode.getFullPathName(), schema);
} }
} }
} }
Expand Down Expand Up @@ -110,7 +110,7 @@ XAttr createErasureCodingZone(String src, ECSchema schema)


// System default schema will be used since no specified. // System default schema will be used since no specified.
if (schema == null) { if (schema == null) {
schema = ECSchemaManager.getSystemDefaultSchema(); schema = ErasureCodingSchemaManager.getSystemDefaultSchema();
} }


// Now persist the schema name in xattr // Now persist the schema name in xattr
Expand Down
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
import org.apache.hadoop.hdfs.XAttrHelper; import org.apache.hadoop.hdfs.XAttrHelper;
import org.apache.hadoop.hdfs.protocol.Block; import org.apache.hadoop.hdfs.protocol.Block;
import org.apache.hadoop.hdfs.protocol.BlockStoragePolicy; import org.apache.hadoop.hdfs.protocol.BlockStoragePolicy;
import org.apache.hadoop.hdfs.protocol.ECZoneInfo; import org.apache.hadoop.hdfs.protocol.ErasureCodingZoneInfo;
import org.apache.hadoop.hdfs.protocol.EncryptionZone; import org.apache.hadoop.hdfs.protocol.EncryptionZone;
import org.apache.hadoop.hdfs.protocol.FSLimitException.MaxDirectoryItemsExceededException; import org.apache.hadoop.hdfs.protocol.FSLimitException.MaxDirectoryItemsExceededException;
import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException;
Expand Down Expand Up @@ -1250,7 +1250,7 @@ ECSchema getECSchema(INodesInPath iip) throws IOException {
} }
} }


ECZoneInfo getECZoneInfo(INodesInPath iip) throws IOException { ErasureCodingZoneInfo getECZoneInfo(INodesInPath iip) throws IOException {
readLock(); readLock();
try { try {
return ecZoneManager.getECZoneInfo(iip); return ecZoneManager.getECZoneInfo(iip);
Expand Down
Loading

0 comments on commit ac97edd

Please sign in to comment.