【HDFS】BlockReceiver#flushOrSync方法

此方法的功能就是把块数据和元数据文件从datanode缓冲区flush到操作系统缓冲区,如果isSync为true的话,还会做fsync系统调用把文件数据和元数据持久化到磁盘上。

参数:

  • boolean isSync :是否进行同步(涉及到的底层系统调用是fsync)
  • long seqno :packet的序列号(在本方法中主要用于打印日志)
  /**
   * Flush block data and metadata files to disk.
   * @throws IOException
   */
  void flushOrSync(boolean isSync, long seqno) throws IOException {
   
    // 用来记录flush checksum和data流的flush总耗时
    lo

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