Search in sources :

Example 1 with OpTransferBlockProto

use of org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpTransferBlockProto in project hadoop by apache.

the class Receiver method opTransferBlock.

/** Receive {@link Op#TRANSFER_BLOCK} */
private void opTransferBlock(DataInputStream in) throws IOException {
    final OpTransferBlockProto proto = OpTransferBlockProto.parseFrom(vintPrefixed(in));
    final DatanodeInfo[] targets = PBHelperClient.convert(proto.getTargetsList());
    TraceScope traceScope = continueTraceSpan(proto.getHeader(), proto.getClass().getSimpleName());
    try {
        transferBlock(PBHelperClient.convert(proto.getHeader().getBaseHeader().getBlock()), PBHelperClient.convert(proto.getHeader().getBaseHeader().getToken()), proto.getHeader().getClientName(), targets, PBHelperClient.convertStorageTypes(proto.getTargetStorageTypesList(), targets.length));
    } finally {
        if (traceScope != null)
            traceScope.close();
    }
}
Also used : DatanodeInfo(org.apache.hadoop.hdfs.protocol.DatanodeInfo) TraceScope(org.apache.htrace.core.TraceScope) OpTransferBlockProto(org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpTransferBlockProto)

Example 2 with OpTransferBlockProto

use of org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpTransferBlockProto in project hadoop by apache.

the class Sender method transferBlock.

@Override
public void transferBlock(final ExtendedBlock blk, final Token<BlockTokenIdentifier> blockToken, final String clientName, final DatanodeInfo[] targets, final StorageType[] targetStorageTypes) throws IOException {
    OpTransferBlockProto proto = OpTransferBlockProto.newBuilder().setHeader(DataTransferProtoUtil.buildClientHeader(blk, clientName, blockToken)).addAllTargets(PBHelperClient.convert(targets)).addAllTargetStorageTypes(PBHelperClient.convertStorageTypes(targetStorageTypes)).build();
    send(out, Op.TRANSFER_BLOCK, proto);
}
Also used : OpTransferBlockProto(org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpTransferBlockProto)

Aggregations

OpTransferBlockProto (org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpTransferBlockProto)2 DatanodeInfo (org.apache.hadoop.hdfs.protocol.DatanodeInfo)1 TraceScope (org.apache.htrace.core.TraceScope)1