jianghuazhu commented on a change in pull request #3512:
URL: https://github.com/apache/hadoop/pull/3512#discussion_r721887148
##########
File path:
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatPBINode.java
##########
@@ -279,6 +283,9 @@ void loadINodeDirectorySection(InputStream in) throws
IOException {
INodeDirectory p = dir.getInode(e.getParent()).asDirectory();
for (long id : e.getChildrenList()) {
INode child = dir.getInode(id);
+ if (child.isDirectory()) {
Review comment:
Thanks @sodonnel for the comment and review.
When loading FsImage, we have recorded the number of all inodes (including
INodeFile and INodeDirectory) in the log.
For example, here is the specific record information:
`2021-09-30 19:12:55,034 [15609]-INFO
[main:FSImageFormatPBINode$Loader@409]-Loading xxxx INodes.`
Yes, this is good. We can know the data of the loaded inode, but this is a
sum. But we can't know how many INodeFiles or how many INodeDirectory are
loaded, if we can know how many INodeFiles are loaded, similarly, we can know
how many INodeDirectory is loaded. This will help us find the cause of the
problem when there is an exception.
Regarding the reason for dealing with INodeDirectory here. What I want to
show is that in many cases, the number of files created will be more than the
number of directories created. Therefore, it may use less time when calculating
INodeDirectory.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]