Search in sources :

Example 1 with AddBlockFlag

use of org.apache.hadoop.hdfs.AddBlockFlag in project hadoop by apache.

the class ClientNamenodeProtocolServerSideTranslatorPB method addBlock.

@Override
public AddBlockResponseProto addBlock(RpcController controller, AddBlockRequestProto req) throws ServiceException {
    try {
        List<DatanodeInfoProto> excl = req.getExcludeNodesList();
        List<String> favor = req.getFavoredNodesList();
        EnumSet<AddBlockFlag> flags = PBHelperClient.convertAddBlockFlags(req.getFlagsList());
        LocatedBlock result = server.addBlock(req.getSrc(), req.getClientName(), req.hasPrevious() ? PBHelperClient.convert(req.getPrevious()) : null, (excl == null || excl.size() == 0) ? null : PBHelperClient.convert(excl.toArray(new DatanodeInfoProto[excl.size()])), req.getFileId(), (favor == null || favor.size() == 0) ? null : favor.toArray(new String[favor.size()]), flags);
        return AddBlockResponseProto.newBuilder().setBlock(PBHelperClient.convertLocatedBlock(result)).build();
    } catch (IOException e) {
        throw new ServiceException(e);
    }
}
Also used : ServiceException(com.google.protobuf.ServiceException) AddBlockFlag(org.apache.hadoop.hdfs.AddBlockFlag) LocatedBlock(org.apache.hadoop.hdfs.protocol.LocatedBlock) IOException(java.io.IOException) DatanodeInfoProto(org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.DatanodeInfoProto)

Aggregations

ServiceException (com.google.protobuf.ServiceException)1 IOException (java.io.IOException)1 AddBlockFlag (org.apache.hadoop.hdfs.AddBlockFlag)1 LocatedBlock (org.apache.hadoop.hdfs.protocol.LocatedBlock)1 DatanodeInfoProto (org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.DatanodeInfoProto)1