[ 
https://issues.apache.org/jira/browse/HDFS-5698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14004941#comment-14004941
 ] 

Suresh Srinivas commented on HDFS-5698:
---------------------------------------

bq. Also upgrade with HA enabled was also not there in that. 
If you are upgrading to 2.4.0, upgrade with HA enabled is supported. As 
[~vinayrpet] points out, it still requires cluster downtime. The current 
documentation for 2.4.0 covers how to upgrade the HA cluster.



> 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.2#6252)

Reply via email to