[
https://issues.apache.org/jira/browse/HDFS-5285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tsz Wo (Nicholas), SZE updated HDFS-5285:
-----------------------------------------
Attachment: h5285_20131001.patch
h5285_20131001.patch: preliminary patch which does not compile. Still need to
fix the file with snapshot case.
> Flatten INodeFile hierarchy
> ---------------------------
>
> Key: HDFS-5285
> URL: https://issues.apache.org/jira/browse/HDFS-5285
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: namenode
> Reporter: Tsz Wo (Nicholas), SZE
> Assignee: Tsz Wo (Nicholas), SZE
> Attachments: h5285_20131001.patch
>
>
> For files, there are INodeFile, INodeFileUnderConstruction,
> INodeFileWithSnapshot and INodeFileUnderConstructionWithSnapshot for
> representing whether a file is under construction or whether it is in some
> snapshot. The following are two major problems of the current approach:
> - Java class does not support multiple inheritances so that
> INodeFileUnderConstructionWithSnapshot cannot extend both
> INodeFileUnderConstruction and INodeFileWithSnapshot.
> - The number of classes is exponential to the number of features. Currently,
> there are only two features, UnderConstruction and WithSnapshot. The number
> of classes is 2^2 = 4. It is hard to add one more feature since the number
> of classes will become 2^3 = 8.
--
This message was sent by Atlassian JIRA
(v6.1#6144)