[
https://issues.apache.org/jira/browse/HDFS-5698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13902418#comment-13902418
]
Hudson commented on HDFS-5698:
------------------------------
SUCCESS: Integrated in Hadoop-Mapreduce-trunk #1699 (See
[https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1699/])
HDFS-5698. Update CHANGES.txt to move breakdown of tasks to correct release
(arp: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1568582)
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
> Use protobuf to serialize / deserialize FSImage
> -----------------------------------------------
>
> Key: HDFS-5698
> URL: https://issues.apache.org/jira/browse/HDFS-5698
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: namenode
> Reporter: Haohui Mai
> Assignee: Haohui Mai
> Fix For: 3.0.0, 2.4.0
>
> Attachments: HDFS-5698-branch2.000.patch, HDFS-5698-design.pdf,
> HDFS-5698.000.patch, HDFS-5698.001.patch, HDFS-5698.002.patch,
> HDFS-5698.003.patch, HDFS-5698.004.patch, HDFS-5698.005.patch,
> HDFS-5698.006.patch, HDFS-5698.007.patch
>
>
> Currently, the code serializes FSImage using in-house serialization
> mechanisms. There are a couple disadvantages of the current approach:
> # Mixing the responsibility of reconstruction and serialization /
> deserialization. The current code paths of serialization / deserialization
> have spent a lot of effort on maintaining compatibility. What is worse is
> that they are mixed with the complex logic of reconstructing the namespace,
> making the code difficult to follow.
> # Poor documentation of the current FSImage format. The format of the FSImage
> is practically defined by the implementation. An bug in implementation means
> a bug in the specification. Furthermore, it also makes writing third-party
> tools quite difficult.
> # Changing schemas is non-trivial. Adding a field in FSImage requires bumping
> the layout version every time. Bumping out layout version requires (1) the
> users to explicitly upgrade the clusters, and (2) putting new code to
> maintain backward compatibility.
> This jira proposes to use protobuf to serialize the FSImage. Protobuf has
> been used to serialize / deserialize the RPC message in Hadoop.
> Protobuf addresses all the above problems. It clearly separates the
> responsibility of serialization and reconstructing the namespace. The
> protobuf files document the current format of the FSImage. The developers now
> can add optional fields with ease, since the old code can always read the new
> FSImage.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)