hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ruyue Ma (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-4764) add replication factor for hdfs directory
Date Fri, 05 Dec 2008 07:18:44 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-4764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12653666#action_12653666
] 

Ruyue Ma commented on HADOOP-4764:
----------------------------------

We doesn't need modify the FSImage, we only modify the FSEditLog. 

Current FSImage sets 0 to the default replication factor for directory.

The modification for FSEditLog doesn't affect the compatible with old log format.

the original code in FSEditLog

  /** 
   * Add create directory record to edit log
   */
  public void logMkDir(String path, INode newNode) {
    UTF8 info[] = new UTF8[] {
      new UTF8(path),
      FSEditLog.toLogLong(newNode.getModificationTime()),
      FSEditLog.toLogLong(newNode.getAccessTime())
    };
    logEdit(OP_MKDIR, new ArrayWritable(UTF8.class, info),
        newNode.getPermissionStatus());
  }

is modified to the following:

  /** 
   * Add create directory record to edit log
   */
  public void logMkDir(String path, INode newNode) {
    UTF8 info[] = new UTF8[] {
      new UTF8(path),
      FSEditLog.toLogReplication(newNode.getReplication()),
      FSEditLog.toLogLong(newNode.getModificationTime()),
      FSEditLog.toLogLong(newNode.getAccessTime())
    };
    logEdit(OP_MKDIR, new ArrayWritable(UTF8.class, info),
        newNode.getPermissionStatus());
  }

> add replication factor for hdfs directory
> -----------------------------------------
>
>                 Key: HADOOP-4764
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4764
>             Project: Hadoop Core
>          Issue Type: New Feature
>          Components: dfs
>            Reporter: Ruyue Ma
>            Assignee: Ruyue Ma
>
> If we can set replication factor for directory. we can modify the DFSClent.create() method,
pass 0 for the default block replication. Namenode check create request, if blockreplication
is 0, it will give its parent dir replication factor to the file blockreplication factor.
This will simplify the administration work. You know we can set /Test or /Tmp dir's replication
factor 2 or 1, then all their children files and dirs replication factor is 2 or 1 defaultly.
>    

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message