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