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

Vinayakumar B commented on HDFS-8450:
-------------------------------------

1. {{FSNamesystem#getErasureCodingZoneForPath()}} should not call 
{{FSNamesystem#getErasureCodingZone(src)}}. Here in the call hierarchy again 
{{checkOperation()}} will happen. 
Instead it should be reverse. {{FSNamesystem#getErasureCodingZoneForPath(src)}} 
should return {{FSDirErasureCodingOp.getErasureCodingZone(this, src);}} and 
keep {{FSNamesystem#getErasureCodingZone(src)}} unchanged, as it already 
calling {{FSNamesystem#getErasureCodingZoneForPath(src)}}.

2. in {{NameNodeFsck#collectBlocksSummary}} get readLock within if block.
{code}      if(file.getReplication() == 0) {
        INode inode = namenode.getNamesystem().getFSDirectory().getINode(path);
        INodesInPath iip = INodesInPath.fromINode(inode);
        ECSchema ecSchema = FSDirErasureCodingOp.getErasureCodingSchema(
            namenode.getNamesystem(), iip);
        targetFileReplication = (short) (ecSchema.getNumDataUnits() + 
ecSchema.getNumParityUnits());
      } else {{code}

3. {{NameNodeAdapter.java}}, acquire fsn#readLock() within getFileInfo().


> Erasure Coding: Consolidate erasure coding zone related implementation into a 
> single class
> ------------------------------------------------------------------------------------------
>
>                 Key: HDFS-8450
>                 URL: https://issues.apache.org/jira/browse/HDFS-8450
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Rakesh R
>            Assignee: Rakesh R
>         Attachments: HDFS-8450-FYI.patch, HDFS-8450-HDFS-7285-00.patch, 
> HDFS-8450-HDFS-7285-01.patch, HDFS-8450-HDFS-7285-02.patch, 
> HDFS-8450-HDFS-7285-03.patch, HDFS-8450-HDFS-7285-04.patch, 
> HDFS-8450-HDFS-7285-05.patch, HDFS-8450-HDFS-7285-07.patch, 
> HDFS-8450-HDFS-7285-08.patch, HDFS-8450-HDFS-7285-09.patch, 
> HDFS-8450-HDFS-7285-10.patch, HDFS-8450-HDFS-7285-11.patch
>
>
> The idea is to follow the same pattern suggested by HDFS-7416. It is good  to 
> consolidate all the erasure coding zone related implementations of 
> {{FSNamesystem}}. Here, proposing {{FSDirErasureCodingZoneOp}} class to have 
> functions to perform related erasure coding zone operations.



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

Reply via email to