[
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)