|
@@ -107,6 +107,8 @@ import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetDat
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetDataEncryptionKeyResponseProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetDataEncryptionKeyResponseProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetDatanodeReportRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetDatanodeReportRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetDatanodeStorageReportRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetDatanodeStorageReportRequestProto;
|
|
|
|
+import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetECSchemasRequestProto;
|
|
|
|
+import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetECSchemasResponseProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetEditsFromTxidRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetEditsFromTxidRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetErasureCodingInfoRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetErasureCodingInfoRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetErasureCodingInfoResponseProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.GetErasureCodingInfoResponseProto;
|
|
@@ -165,10 +167,11 @@ import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.Update
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.SetStoragePolicyRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.SetStoragePolicyRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.CreateErasureCodingZoneRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.CreateErasureCodingZoneRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.CreateErasureCodingZoneResponseProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.CreateErasureCodingZoneResponseProto;
|
|
-import org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos;
|
|
|
|
|
|
+import org.apache.hadoop.hdfs.protocol.proto.*;
|
|
import org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos.CreateEncryptionZoneRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos.CreateEncryptionZoneRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos.GetEZForPathRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos.GetEZForPathRequestProto;
|
|
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.HdfsProtos.ECSchemaProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.XAttrProtos.GetXAttrsRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.XAttrProtos.GetXAttrsRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.XAttrProtos.ListXAttrsRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.XAttrProtos.ListXAttrsRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.XAttrProtos.RemoveXAttrRequestProto;
|
|
import org.apache.hadoop.hdfs.protocol.proto.XAttrProtos.RemoveXAttrRequestProto;
|
|
@@ -180,6 +183,7 @@ import org.apache.hadoop.hdfs.server.namenode.SafeModeException;
|
|
import org.apache.hadoop.hdfs.server.protocol.DatanodeStorageReport;
|
|
import org.apache.hadoop.hdfs.server.protocol.DatanodeStorageReport;
|
|
import org.apache.hadoop.io.EnumSetWritable;
|
|
import org.apache.hadoop.io.EnumSetWritable;
|
|
import org.apache.hadoop.io.Text;
|
|
import org.apache.hadoop.io.Text;
|
|
|
|
+import org.apache.hadoop.io.erasurecode.ECSchema;
|
|
import org.apache.hadoop.ipc.ProtobufHelper;
|
|
import org.apache.hadoop.ipc.ProtobufHelper;
|
|
import org.apache.hadoop.ipc.ProtocolMetaInterface;
|
|
import org.apache.hadoop.ipc.ProtocolMetaInterface;
|
|
import org.apache.hadoop.ipc.ProtocolTranslator;
|
|
import org.apache.hadoop.ipc.ProtocolTranslator;
|
|
@@ -237,6 +241,10 @@ public class ClientNamenodeProtocolTranslatorPB implements
|
|
VOID_GET_STORAGE_POLICIES_REQUEST =
|
|
VOID_GET_STORAGE_POLICIES_REQUEST =
|
|
GetStoragePoliciesRequestProto.newBuilder().build();
|
|
GetStoragePoliciesRequestProto.newBuilder().build();
|
|
|
|
|
|
|
|
+ private final static GetECSchemasRequestProto
|
|
|
|
+ VOID_GET_ECSCHEMAS_REQUEST = GetECSchemasRequestProto
|
|
|
|
+ .newBuilder().build();
|
|
|
|
+
|
|
public ClientNamenodeProtocolTranslatorPB(ClientNamenodeProtocolPB proxy) {
|
|
public ClientNamenodeProtocolTranslatorPB(ClientNamenodeProtocolPB proxy) {
|
|
rpcProxy = proxy;
|
|
rpcProxy = proxy;
|
|
}
|
|
}
|
|
@@ -1550,4 +1558,20 @@ public class ClientNamenodeProtocolTranslatorPB implements
|
|
throw ProtobufHelper.getRemoteException(e);
|
|
throw ProtobufHelper.getRemoteException(e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public ECSchema[] getECSchemas() throws IOException {
|
|
|
|
+ try {
|
|
|
|
+ GetECSchemasResponseProto response = rpcProxy.getECSchemas(null,
|
|
|
|
+ VOID_GET_ECSCHEMAS_REQUEST);
|
|
|
|
+ ECSchema[] schemas = new ECSchema[response.getSchemasCount()];
|
|
|
|
+ int i = 0;
|
|
|
|
+ for (ECSchemaProto schemaProto : response.getSchemasList()) {
|
|
|
|
+ schemas[i++] = PBHelper.convertECSchema(schemaProto);
|
|
|
|
+ }
|
|
|
|
+ return schemas;
|
|
|
|
+ } catch (ServiceException e) {
|
|
|
|
+ throw ProtobufHelper.getRemoteException(e);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|