[ 
https://issues.apache.org/jira/browse/HDFS-8499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhe Zhang updated HDFS-8499:
----------------------------
    Attachment: HDFS-8499.05.patch

Thanks Yi for the review! Uploading 05 patch to address the comments. 

Putting the static methods in {{BlockInfoContiguous}} sounds a good idea. Then 
we face 2 choices in structuring {{BIStriped}} and {{BIUCStriped}}:
# We can handle them similarly as the 2 contiguous classes. The static methods 
will verify the {{BlockInfo}} from the argument is {{instanceof}} either 
{{BIStriped}} or {{BIUCStriped}}, and so some type casting. This is because the 
static methods need to operate on both the {{triplets}} and {{indices}}.
# We can also explicitly create an interface for {{BIStriped}} and 
{{BIUCStriped}}.
I will file a separate JIRA for the 2 striped classes and start writing a patch.

The update patch also moves the implementation of 3 methods to 
{{BIUCContiguous}}: {{setExpectedLocations}}, {{getTruncateBlock}} and 
{{setTruncateBlock}}. I manually compared the striped and contiguous UC classes 
in the branch and only these 3 have different logics.

> Merge BlockInfoUnderConstruction into trunk
> -------------------------------------------
>
>                 Key: HDFS-8499
>                 URL: https://issues.apache.org/jira/browse/HDFS-8499
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: namenode
>    Affects Versions: 2.7.0
>            Reporter: Zhe Zhang
>            Assignee: Zhe Zhang
>         Attachments: HDFS-8499.00.patch, HDFS-8499.01.patch, 
> HDFS-8499.02.patch, HDFS-8499.03.patch, HDFS-8499.04.patch, 
> HDFS-8499.05.patch, HDFS-8499.UCFeature.patch
>
>
> In HDFS-7285 branch, the {{BlockInfoUnderConstruction}} interface provides a 
> common abstraction for striped and contiguous UC blocks. This JIRA aims to 
> merge it to trunk.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to