[
https://issues.apache.org/jira/browse/HDFS-5754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13875523#comment-13875523
]
Tsz Wo (Nicholas), SZE commented on HDFS-5754:
----------------------------------------------
I like the idea of adding a new LayoutFeature interface and a new
DataNodeFeature enum. Some comments:
- We need to think more about upgrading. DataNodeFeature should not start with
-1 since -1 in already used previously. ROLLING_UPGRADE_MARKER(-52) was added
for rolling upgrade. DataNodeFeature should also start with -52.
- BTW, I think we should move DataNodeFeature to the datanode package or may be
an inner class of DataNode (i.e. DataNode.Feature).
- It may be a good idea to add NameNode.Feature and move ROLLING_UPGRADE_MARKER
to there.
- We should also add tests for different DataNode layout versions and different
NameNode layout versions. We may do it separately.
> Split LayoutVerion into NamenodeLayoutVersion and DatanodeLayoutVersion
> ------------------------------------------------------------------------
>
> Key: HDFS-5754
> URL: https://issues.apache.org/jira/browse/HDFS-5754
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: datanode, namenode
> Reporter: Tsz Wo (Nicholas), SZE
> Assignee: Brandon Li
> Attachments: HDFS-5754.001.patch, HDFS-5754.002.patch,
> HDFS-5754.003.patch
>
>
> Currently, LayoutVersion defines the on-disk data format and supported
> features of the entire cluster including NN and DNs. LayoutVersion is
> persisted in both NN and DNs. When a NN/DN starts up, it checks its
> supported LayoutVersion against the on-disk LayoutVersion. Also, a DN with a
> different LayoutVersion than NN cannot register with the NN.
> We propose to split LayoutVersion into two independent values that are local
> to the nodes:
> - NamenodeLayoutVersion - defines the on-disk data format in NN, including
> the format of FSImage, editlog and the directory structure.
> - DatanodeLayoutVersion - defines the on-disk data format in DN, including
> the format of block data file, metadata file, block pool layout, and the
> directory structure.
> The LayoutVersion check will be removed in DN registration. If
> NamenodeLayoutVersion or DatanodeLayoutVersion is changed in a rolling
> upgrade, then only rollback is supported and downgrade is not.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)