本文包含如下内容:
- 调用createTemporary的场景,
- createTemporary具体实现逻辑。
一、调用点(创建temporary文件的场景)
FsDatasetImpl#createTemporary有两处调用点,它们都在BlockReceiver的构造函数里。
看下相应的代码片段:
/** The client name. It is empty if a datanode is the client */
this.clientname = clientname;
// 这里大家这么记:凡是跟客户端写数据有关的就是isClient为true,凡是跟DNA_TRANSFER命令和balancer相关的,那isDatanode就为true。
this