【HDFS】每天一个RPC系列----complete(二):客户端侧

【HDFS】每天一个RPC系列----complete(二):客户端侧_第1张图片

上图给出了最终会调用到complete RPC的客户端侧方法链路(除去Router那条线了)。

org.apache.hadoop.hdfs.DFSOutputStream#completeFile(org.apache.hadoop.hdfs.protocol.ExtendedBlock):

下面这个方法在complete rpc返回true之前,会进行重试,直到超过最大重试次数抛异常。
另外需要注意的是,这个方法在锁里(锁的是当前的流对象)。

  // should be called holding (this) lock since setTestFilename() may
  // be called during unit tests
  protected void completeFile(ExtendedBlock last) throws IOException 

你可能感兴趣的:(HDFS全方位实战,hdfs,rpc,hadoop)