Exemple #1
0
 /// <exception cref="System.IO.IOException"/>
 public override void ReplaceBlock(ExtendedBlock blk, StorageType storageType, Org.Apache.Hadoop.Security.Token.Token
                                   <BlockTokenIdentifier> blockToken, string delHint, DatanodeInfo source)
 {
     DataTransferProtos.OpReplaceBlockProto proto = ((DataTransferProtos.OpReplaceBlockProto
                                                      )DataTransferProtos.OpReplaceBlockProto.NewBuilder().SetHeader(DataTransferProtoUtil
                                                                                                                     .BuildBaseHeader(blk, blockToken)).SetStorageType(PBHelper.ConvertStorageType(storageType
                                                                                                                                                                                                   )).SetDelHint(delHint).SetSource(PBHelper.ConvertDatanodeInfo(source)).Build());
     Send(@out, OP.ReplaceBlock, proto);
 }
Exemple #2
0
        /// <summary>Receive OP_REPLACE_BLOCK</summary>
        /// <exception cref="System.IO.IOException"/>
        private void OpReplaceBlock(DataInputStream @in)
        {
            DataTransferProtos.OpReplaceBlockProto proto = DataTransferProtos.OpReplaceBlockProto
                                                           .ParseFrom(PBHelper.VintPrefixed(@in));
            TraceScope traceScope = DataTransferProtoUtil.ContinueTraceSpan(proto.GetHeader()
                                                                            , proto.GetType().Name);

            try
            {
                ReplaceBlock(PBHelper.Convert(proto.GetHeader().GetBlock()), PBHelper.ConvertStorageType
                                 (proto.GetStorageType()), PBHelper.Convert(proto.GetHeader().GetToken()), proto.
                             GetDelHint(), PBHelper.Convert(proto.GetSource()));
            }
            finally
            {
                if (traceScope != null)
                {
                    traceScope.Close();
                }
            }
        }