Hadoop Common
  1. Hadoop Common
  2. HADOOP-1377

Creation time and modification time for hadoop files and directories


    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.14.0
    • Component/s: None
    • Labels:


      This issue will document the requirements, design and implementation of creation times and modification times of hadoop files and directories.

      My proposal is to have support two additional attributes for each file and directory in HDFS. The "creation time" is the time when the file/directory was created. It is a 8 byte integer stored in each FSDirectory.INode. The "modification time" is the time when the last modification occured to the file/directory. It is an 8 byte integer stored in the FSDirectory.INode. These two fields are stored in in the FSEdits and FSImage as part of the transaction that created the file/directory.

      My current proposal is to not support "access time" for a file/directory. It is costly to implement and current applications might not need it.

      In the current implementation, the "modification time" for a file will be same as its creation time because HDFS files are currently unmodifiable. Setting file attributes (e.g. setting the replication factor) of a file does not modify the "modification time" of that file. The "modification time" for a directory is either its creation time or the time when the most recent file-delete or file-create occured in that directory.

      A new command named "hadoop dfs -lsl" will display the creation time and modification time of the files/directories that it lists. The output of the existing command "hadoop dfs -ls" will not be affected.

      The ClientProtocol will change because DFSFileInfo will have two additional fields: the creation time and modification time of the file that it represents. This information can be retrieved by clients thorugh the ClientProtocol.getListings() method. The FileSystem public API will have two additional methods: getCreationTime and getModificationTime().

      The datanodes are completely transparent to this design and implementation and requires no change.

      1. CreationModificationTime.html
        8 kB
        dhruba borthakur
      2. CreationTime8.patch
        54 kB
        dhruba borthakur
      3. 1377.patch
        54 kB
        Doug Cutting
      4. 1377-noctime.patch
        50 kB
        Doug Cutting

        Issue Links


          No work has yet been logged on this issue.


            • Assignee:
              dhruba borthakur
              dhruba borthakur
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created: