【HDFS】一天一个RPC系列--updatePipeline

updatePipeline这个RPC一般都会配合updateBlockForPipeline RPC一起使用。
先updateBlockForPipeline、然后再updatePipeline。

建议先阅读【HDFS】一天一个RPC系列–updateBlockForPipeline

本文目标是弄清楚以下问题:

  • 弄清updatePipeline这个RPC的作用。
  • 弄清updatePipeline RPC的使用场景,代码里的调用点。

一、updatePipeline这个RPC的作用是什么?

看代码注释,为处于under construction状态的block更新pipeline信息(更新在namenode侧)。

参数含义如下:

  • clientName:客户端的名字
  • oldBlock:更新GS和access token之前的block对象,也即没有updateBlockForPipeline之前
  • newBlock:更新GS之后的block对象,此时已经调用完了updateBlockForPipeline RPC
  • DatanodeID[] newNodes:存储新block副本的datanode节点
  • String[] newStorageIDs:datanoe节点对应的storageID
  /**
   * Update a pipeline for a blo

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