You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Zhe Zhang (JIRA)" <ji...@apache.org> on 2015/08/28 00:37:45 UTC

[jira] [Commented] (HDFS-8982) Consolidate getFileReplication and getPreferredBlockReplication in INodeFile

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

Zhe Zhang commented on HDFS-8982:
---------------------------------

For example, this section in {{FSEditLogLoader}} is using the two methods inconsistently.
{code}
        if (!op.shouldCompleteLastBlock()) {
          // TODO: shouldn't this only be true for the last block?
          // what about an old-version fsync() where fsync isn't called
          // until several blocks in?
          newBI = new BlockInfoContiguous(newBlock,
              file.getPreferredBlockReplication());
          newBI.convertToBlockUnderConstruction(
              HdfsServerConstants.BlockUCState.UNDER_CONSTRUCTION, null);
        } else {
          // OP_CLOSE should add finalized blocks. This code path
          // is only executed when loading edits written by prior
          // versions of Hadoop. Current versions always log
          // OP_ADD operations as each block is allocated.
          newBI = new BlockInfoContiguous(newBlock,
              file.getFileReplication());
        }
{code}

[~wheat9] Why did HDFS-8823 change {{getPreferredBlockReplication}} to {{getFileReplication}} in the else statement?

> Consolidate getFileReplication and getPreferredBlockReplication in INodeFile
> ----------------------------------------------------------------------------
>
>                 Key: HDFS-8982
>                 URL: https://issues.apache.org/jira/browse/HDFS-8982
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: namenode
>    Affects Versions: 2.7.1
>            Reporter: Zhe Zhang
>
> Currently {{INodeFile}} provides both {{getFileReplication}} and {{getPreferredBlockReplication}} interfaces. At the very least they should be renamed (e.g. {{getCurrentFileReplication}} and {{getMaxConfiguredFileReplication}}), with clearer Javadoc.
> I also suspect we are not using them correctly in all places right now.



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