[
https://issues.apache.org/jira/browse/HDFS-1070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13014862#comment-13014862
]
Hairong Kuang commented on HDFS-1070:
-------------------------------------
I agree that the old design has the potential robustness. I could go ahead try
to implement the new proposal.
But I want to point out a fact. The "old" image does not have explicit "sync"
points. So if a portion of the image gets corrupt, there is no way that the
image loader could find a sync point and recovers the remaining image.
Also if we turn on image compression, the "resync" feature becomes less
significant.
> Speedup NameNode image loading and saving by storing local file names
> ---------------------------------------------------------------------
>
> Key: HDFS-1070
> URL: https://issues.apache.org/jira/browse/HDFS-1070
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: name-node
> Reporter: Hairong Kuang
> Assignee: Hairong Kuang
> Attachments: trunkLocalNameImage.patch, trunkLocalNameImage1.patch,
> trunkLocalNameImage3.patch, trunkLocalNameImage4.patch,
> trunkLocalNameImage5.patch
>
>
> Currently each inode stores its full path in the fsimage. I'd propose to
> store the local name instead. In order for each inode to identify its parent,
> all inodes in a directory tree are stored in the image in in-order. This
> proposal also requires each directory stores the number of its children in
> image.
> This proposal would bring a few benefits as pointed below and therefore
> speedup the image loading and saving.
> # Remove the overhead of converting java-UTF8 encoded local name to
> string-represented full path then to UTF8 encoded full path when saving to an
> image and vice versa when loading the image.
> # Remove the overhead of traversing the full path when inserting the inode to
> its parent inode.
> # Reduce the number of temporary java objects during the process of image
> loading or saving and therefore reduce the GC overhead.
> # Reduce the size of an image.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira